一、C# 操作 MongoDB 插入

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

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

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

await collection.InsertOneAsync(person);
C#

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

二、C# 操作 MongoDB 更新

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

12345678
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);
C#

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

三、C# 操作 MongoDB 删除

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

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

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

await collection.DeleteOneAsync(filter);
C#

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