2017-07-04 39 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

相关问题