You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#连接MongoDB Atlas云数据库时v2.13驱动缺失GetDatabase方法问询

问题解答

首先明确结论:MongoDB .NET 2.13版本驱动的MongoClient类原生支持GetDatabase实例方法,该方法并未被废弃,你查询到的相关说法是错误的。

出现该问题的常见原因及排查方案如下:

  • 首先检查NuGet包安装是否完整:要确保你安装的是官方完整的MongoDB.Driver包,而非仅单独安装了MongoDB.Bson包,GetDatabase方法定义在MongoDB.Driver程序集内,仅引用Bson包会找不到该方法。
  • 其次检查命名空间引用与类名冲突:确认代码头部已添加using MongoDB.Driver;声明,若项目内存在自定义的同名MongoClient类,可尝试使用全限定名调用验证:
using MongoDB.Bson;
using MongoDB.Driver;

// 用全限定名避免类名冲突
var client = new MongoDB.Driver.MongoClient(
    "mongodb+srv://<username>:<password>@<cluster-address>/test?w=majority"
);
var database = client.GetDatabase("test");
  • 最后检查依赖版本一致性:如果是从旧版本驱动升级的项目,需要确认所有MongoDB相关依赖(MongoDB.Bson/MongoDB.Driver/MongoDB.Driver.Core)的版本完全一致,均为2.13.x版本,版本混装会导致API调用异常。

额外说明:你看到的"GetDatabase已废弃"的说法是混淆了1.x版本的旧API逻辑:1.x版本驱动中是通过MongoServer类调用GetDatabase,2.0版本之后废弃了MongoServer类,改为直接通过MongoClient实例调用GetDatabase,和官方当前给出的示例代码完全匹配。

内容的提问来源于stack exchange,提问作者Kris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 15:54:07