如何在不使用旧版驱动程序的情况下在MongoDB C#驱动程序版本2.1中实现CommandDocument



我正在升级在 3.x 系列引擎上使用 Mongo v1 C# 驱动程序的应用程序。 我已将数据库升级到 4.2,将 C# 驱动程序升级到 2.1,并进行了与折旧的 c# 方法等相关的所有必要更改。 但是,仍然存在一个问题。我有几个地方我们运行类似的东西:

var command = new CommandDocument { { "dbStats", 1 }, { "scale", 1 } };
var result = mongoDb.RunCommand<BsonDocument>(command);
var tempSize = result["dataSize"].ToInt32();

不想加载或使用"旧版驱动程序"。

使用新的(非旧版(C# 驱动程序执行此类命令的正确方法是什么? 提前感谢大家的建议。

现在有一个基本的Command<TResult>抽象类,其中有派生类型BsonDocumentCommand<BsonDocument>这与你以前使用的类似。

以下代码将执行与之前代码相同的操作

var client = new MongoClient();
var database = client.GetDatabase("A");
var result = database.RunCommand(new BsonDocumentCommand<BsonDocument>(new BsonDocument {{"dbStats", 1}, {"scale", 1}}));
var tempSize = result["dataSize"].ToInt32();

最新更新