一、C#操作MongoDB插入

C#操作MongoDB插入是通过MongoDB.Driver.IMongoCollection的InsertOneAsync方法来实现的,该方法接收一个TDocument类型参数,返回一个InsertOneResult类型的Task。下面给出一个插入的示例:


var collection = mongoDatabase.GetCollection("Person");

var person = new Person
{
    Name = "John Smith",
    Age = 30
};

await collection.InsertOneAsync(person);

上面代码中,第1行创建了一个Person类型的集合,第3行创建了一个Person类型的实例,第5行通过InsertOneAsync方法将Person实例插入到MongoDB中。

二、C#操作MongoDB更新

C#操作MongoDB更新是通过MongoDB.Driver.IMongoCollection的ReplaceOneAsync方法来实现的,该方法接收一个FilterDefinition类型的参数,用于指定要更新的文档;一个TDocument类型参数,用于指定更新后的文档;返回一个ReplaceOneResult类型的Task。下面给出一个更新的示例:


var collection = mongoDatabase.GetCollection("Person");

var filter = Builders.Filter.Eq(x => x.Name, "John Smith");

var update = Builders.Update
    .Set(x => x.Age, 35);

await collection.ReplaceOneAsync(filter, update);

上面代码中,第1行创建了一个Person类型的集合,第3行创建了一个查询条件,第5行创建了一个更新操作,第7行使用ReplaceOneAsync方法把查询到的文档更新为新的文档。

三、C#操作MongoDB删除

C#操作MongoDB删除是通过MongoDB.Driver.IMongoCollection的DeleteOneAsync方法来实现的,该方法接收一个FilterDefinition类型的参数,用于指定要删除的文档;返回一个DeleteResult类型的Task。下面给出一个删除的示例:


var collection = mongoDatabase.GetCollection("Person");

var filter = Builders.Filter.Eq(x => x.Name, "John Smith");

await collection.DeleteOneAsync(filter);

上面代码中,第1行创建了一个Person类型的集合,第3行创建了一个查询条件,第5行使用DeleteOneAsync方法把查询到的文档从MongoDB中删除。