

新闻资讯
技术学院推荐使用官方驱动 MongoDB.Driver,它支持 .NET 5/6/7/8 和 .NET Framework 4.7.2+,安装后通过 MongoClient 建立连接、获取数据库和集合,支持异步增删改查及 BSON 映射。
用 C# 连接 MongoDB,推荐直接使用官方驱动 MongoDB.Driver(.NET 版),它支持 .NET 5/6/7/8 和 .NET Framework 4.7.2+,封装完善、异步友好、文档齐全。
在项目中通过 NuGet 安装核心包:
命令行安
装:
使用 MongoClient 管理连接(线程安全,建议全局单例复用):
var connectionString = "mongodb://localhost:27017";
var client = new MongoClient(connectionString); // 自动复用连接池
var database = client.GetDatabase("mydb");
var collection = database.GetCollection("people"); // 指定强类型
注意:
GetCollection 中的 T 是你的实体类,需匹配 BSON 字段(或用 [BsonElement] 映射)所有核心方法都提供 Async 版本,避免阻塞:
// 插入
await collection.InsertOneAsync(new Person { Name = "张三", Age = 25 });
// 查询单条
var person = await collection.Find(x => x.Name == "张三").FirstOrDefaultAsync();
// 查询多条(支持 LINQ)
var adults = await collection.Find(x => x.Age >= 18).ToListAsync();
// 更新(按条件)
await collection.UpdateOneAsync(
Builders.Filter.Eq(x => x.Name, "张三"),
Builders.Update.Set(x => x.Age, 26)
);
// 删除
await collection.DeleteManyAsync(x => x.Age < 18);
定义 POCO 类时注意默认行为:
Id(ObjectId 或 string 类型),驱动会自动映射为 _id
[BsonElement("user_name")] public string UserName { get; set; }
[BsonIgnore] public string TempFlag { get; set; }
[BsonId][BsonRepresentation(BsonType.ObjectId)] public string Id { get; set; }
基本上就这些。只要连接串正确、实体对齐、用好异步 API,C# 操作 MongoDB 很顺畅。官方驱动更新活跃,遇到问题优先查 官方文档。