我希望能够使用C#SDK(2.2.4)执行database method。以db.version()
为例。
我试图和Database.RunCommand
一起玩,但没有运气:
var command = new BsonDocumentCommand<BsonDocument>(new BsonDocument
{
{ "version", 1 }
});
var versionResult = Database.RunCommand(command);
例外:
MongoDB.Driver.MongoCommandException:命令版本失败:没有这样的 命令:&#39;版本&#39;,坏cmd:&#39; {版本:1}&#39;。
答案 0 :(得分:2)
您链接到的shell数据库方法与通过Database.RunCommand
可用的基础数据库命令之间并不总是直接映射。可用命令列在here中,要获取服务器版本,可以使用serverStatus
命令:
var version = db.RunCommand<dynamic>(new BsonDocument("serverStatus", 1)).version;
答案 1 :(得分:1)
我可以使用上述方法获取dbstats,但不能使用版本。 (在mongo shell和.net中)
但是如果我试图在mongo shell中以这种方式获得版本,那么我会得到同样的错误
db.runCommand({version:1})
{
"ok" : 0,
"errmsg" : "no such command: 'version', bad cmd: '{ version: 1.0 }'",
"code" : 59
}
获得版本似乎有不同的方式?因为runCommand支持Mongo shell支持的操作?