MeTide.MongoDB.Abstract

基于官方MongoDB驱动封装的帮助库接口,使用更方便。


Keywords
mongodb
License
MIT
Install
Install-Package MeTide.MongoDB.Abstract -Version 1.0.0

Documentation

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");