答案:在.NET中通过MongoDB.Driver实现增删改查。安装NuGet包后,用MongoClient连接数据库,定义User类映射文档结构,调用InsertOneAsync、Find、UpdateOneAsync和DeleteOneAsync执行异步操作,建议复用客户端实例并建立索引优化性能。

.NET 中使用 MongoDB 进行数据操作非常直观,借助官方提供的 MongoDB.Driver NuGet 包,可以轻松实现对 MongoDB 数据库的增删改查。下面介绍如何在 .NET 项目中集成并操作 MongoDB。
安装 MongoDB 驱动程序
在开始之前,需要将 MongoDB 官方驱动添加到项目中:
通过 NuGet 包管理器安装:- 打开项目,在解决方案资源管理器中右键“管理 NuGet 包”
- 搜索 MongoDB.Driver 并安装
Install-Package MongoDB.Driver
连接 MongoDB 数据库
使用 MongoClient 建立与 MongoDB 的连接,并获取数据库和集合的引用:
var client = new MongoClient("mongodb://localhost:27017");
var database = client.GetDatabase("MyAppDb");
var collection = database.GetCollection("Users");
其中 User 是你定义的 C# 类,对应 MongoDB 中的文档结构。
定义数据模型
创建一个简单的类来映射 MongoDB 文档:
public class User
{
public ObjectId Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Email { get; set; }
}
该类字段会自动映射到 MongoDB 文档的键值,支持嵌套对象和数组。
执行基本数据操作
有了集合引用后,就可以进行常见的 CRUD 操作。
插入数据(Insert)
var user = new User
{
Name = "张三",
Age = 28,
Email = "zhangsan@example.com"
};
await collection.InsertOneAsync(user);
查询数据(Find)
使用 LINQ 或 Filter 定义查询条件:
// 查询所有用户 var allUsers = await collection.Find(_ => true).ToListAsync();// 查询年龄大于 25 的用户 var filter = Builders
.Filter.Gt(u => u.Age, 25); var adults = await collection.Find(filter).ToListAsync();
更新数据(Update)
修改匹配条件的第一个文档:
var update = Builders.Update.Set(u => u.Age, 29); await collection.UpdateOneAsync(filter, update);
删除数据(Delete)
删除符合条件的第一个文档:
await collection.DeleteOneAsync(u => u.Name == "张三");
异步操作与性能建议
MongoDB Driver 提供了完整的异步 API,推荐始终使用 Async 方法避免阻塞线程,特别是在 Web 应用中。
小技巧:- 复用 MongoClient 实例,它本身是线程安全的
- 为常用查询字段建立索引,提升查询效率
- 使用投影(Projection)只获取需要的字段,减少网络传输
基本上就这些。掌握这些基础操作后,就能在 .NET 项目中高效使用 MongoDB 存储和管理数据。实际开发中可根据业务封装 Repository 模式,提高代码可维护性。










