2016-05-22 108 views
1

我希望能夠使用C#SDK(2.2.4)執行database method。以db.version()爲例。MongoDB C#驅動程序:通過SDK執行數據庫方法?

我試圖玩弄Database.RunCommand,但沒有運氣:

var command = new BsonDocumentCommand<BsonDocument>(new BsonDocument 
{ 
    { "version", 1 } 
}); 

var versionResult = Database.RunCommand(command); 

例外:

MongoDB.Driver.MongoCommandException:命令版本失敗:沒有這樣的 命令:「版本',錯誤的cmd:'{版本:1}'。

回答

1

鏈接到的shell數據庫方法與通過Database.RunCommand可用的基礎數據庫命令之間並不總是有直接映射關係。可用的命令列於here,並且獲得服務器版本,您可以使用serverStatus命令:

var version = db.RunCommand<dynamic>(new BsonDocument("serverStatus", 1)).version; 
1

我可以使用上面的方法但不是版本的dbstats。 (在蒙戈外殼和.net)

但後來我得到同樣的錯誤,如果我試圖讓版本這種方式蒙戈外殼

db.runCommand({version:1}) 
{ 
    "ok" : 0, 
    "errmsg" : "no such command: 'version', bad cmd: '{ version: 1.0 }'", 
    "code" : 59 
} 

似乎有不同的方式來獲得的版本?因爲runCommand支持Mongo shell支持的操作?

相關問題