2017-07-04 56 views
1

我有一個使用MongoDB的Rails應用程序。我需要在狀態網頁上動態顯示當前的MongoDB版本。對我的客戶來說,知道它是否是3.0,3.23.4版本很重要。如何使用Mongoid或Mongo Ruby驅動程序從Ruby代碼獲取MongoDB版本?

但是,我無法在任何地方找到此值。我使用pry來調試連接細節,並且我已經嘗試了MongoidMongo類層次結構中的任何相關的公共方法,但沒有成功。

使用純MongoDB做到這一點的規範方法是db.version(),但似乎沒有辦法用Mongoid發送這個原始查詢。

+0

運行爲[' 「buildInfo」']數據庫命令(https://docs.mongodb.com/manual/reference/command/buildInfo/#dbcmd .buildInfo)。 ''version''然後是返回的數據結構的一個屬性。 –

回答

1

你應該做以下電話:

Mongoid.default_session.command(buildinfo: 1)["version"] 
+0

這輸出'2.4.0',但我的MongoDB版本是'3.4.5' – yeasayer

+0

[yeasayer](https://stackoverflow.com/users/458758/yeasayer)我剛剛更新了答案,包括正確的調用。 – gualopezb

+4

在現代Mongoid的'Mongoid.default_client.command(buildInfo:1).first [:version]'> 5 – yeasayer

相關問題