MeTide.MongoDB使用说明
安装
- Nuget包管理器控制台
Install-Package MeTide.MongoDB -Version 1.0.0
- Nuget管理程序包:直接搜索 MeTide.MongoDB
创建Repository
NetCore
IRepository repository = new Repository("connectionString");
AspNetCore
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<IRepository>(factory => new Repository(Configuration.GetConnectionString("mongodb配置key")));
}
创建Document
[Collection("user")]
public class User
{
[BsonElement("name")]
public String Name { get; set; }
[BsonElement("age")]
public Int32 Age { get; set; }
}
支持CollectionAttribute标记,指定集合名称,如果没有指定,则默认集合名为类名。
find
- 返回对象
User user = repository.FindOne<User>(u => u.Age == 18);
- 返回BsonDocument
IMongoCollection<BsonDocument> collection = repository.GetCollection<BsonDocument>("user");
BsonDocument userDocument = collection.Find("{\"name\":\"metide\"}").FirstOrDefault();
insert
User user = new User {Age = 18, Name = "metide"};
repository.InsertOne(user);
update
IFilter<User> filter = new Filter<User>().From(u => u.Age == 18 && u.Name == "metide");
IUpdate<User> update = new Update<User>().Set(u => u.Age, 20);
Boolean ok = repository.UpdateOne<User>(filter, update);
delete
Boolean ok = repository.DeleteOne<User>(u => u.Name == "metide");