如何以编程方式获取当前数据库Mongoid被写?(How to programmatically g

2019-08-01 19:28发布

我说用Mongoid.override_database(“数据库名称”)使用Mongoid与导轨多个数据库。 如何以编程方式找到当前数据库?

在会议Mongoid文档: http://mongoid.org/en/moped/docs/driver.html定义方法来覆盖数据库,但没有定义的方式来获得当前正在使用的数据库。

Answer 1:

得到它了!

Mongoid.default_session.options[:database]


Answer 2:

新的方式来获得,这是

Mongoid::Config.clients["default"]["database"]

你也可以看看

Mongoid::Config.clients

看到的是提供什么。



Answer 3:

如果你想overrided数据库您真正需要使用

Mongoid::Threaded.database_override


Answer 4:

运行Mongoid.default_session.options [:数据库]给出一个错误,default_session是无效的。 它现在default_client。 这奇妙的作品。

运行它,而不[:数据库]把所有的选项,并查看数据库的完整配置。

Mongoid :: Config.clients [“默认”] [“数据库”]假设你使用mongoid.yml的URI版本。 您将在所有情况下得到零。 使用Mongoid :: Config.clients [“默认”]来获得当前数据库的完整配置,或Mongoid :: Config.clients [“默认”] [“URI”]给你刚才完整URI。

最后一个端口号/后从URI接数据库名。 有可能采用分片结构来severalif



文章来源: How to programmatically get the current database Mongoid is writing to?