谁能给我一个使用RunCommand方法的例子,该方法只接受MongoDB .NET驱动程序中可用的字符串参数(称为CommandName)?我知道有一个重载的RunCommand方法,它接受一个对象引用(我认为是一个CommandDocument对象)作为参数,但我不想使用这个方法。
我在获取正确的CommandName语法时遇到了问题。提前感谢!
发布于 2017-10-18 06:17:57
如果您使用的是官方C#驱动程序的某个最新版本,那么您所指的“真正的”基于string的版本(CommandResult RunCommand(string commandName))只是遗留驱动程序组件的一部分(请检查名称空间)。因此,我不建议使用它。
“官方”界面目前看起来像这样:
TResult RunCommand<TResult>(Command<TResult> command, /* and some additional optional parameters */)由于C#驱动程序严重依赖于隐式类型转换,因此也有一个从string (和BsonDocument)到Command<TResult>的相应子类型(JsonCommand<TResult>和BsonDocumentCommand<TResult>)的转换。因此,您也可以有效地将string传递给上面的新RunCommand()方法。
因此,您可以编写以下任意一行代码,这两行代码的作用是完全相同的:
RunCommand<BsonDocument>("{count: \"collection_name\"}")
RunCommand<BsonDocument>(new BsonDocument("count", "collection_name"))https://stackoverflow.com/questions/46793843
复制相似问题