如何使用 Mongoid 或 Mongo Ruby 驱动程序从 Ruby 代码获取 MongoDB 版本?

How to get MongoDB version from Ruby code using Mongoid or Mongo Ruby Driver?

我有一个 Rails 应用 MongoDB。我需要在状态网页上动态显示当前 MongoDB 版本。我的客户知道它是 3.03.2 还是 3.4 版本很重要。

但是,我在任何地方都找不到这个值。我正在使用 pry 来调试连接细节,并且我已经尝试了 MongoidMongo class 层次结构中的任何相关 public 方法但没有成功。

使用纯 MongoDB 执行此操作的规范方法是 db.version(),但似乎无法使用 Mongoid 发送此原始查询。

您应该执行以下调用 (Mongoid 5+):

Mongoid.default_client.command(buildInfo: 1).first[:version]

或者,在早期版本中:

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

(根据@yeasayer 评论更新答案)