我说用Mongoid.override_database(“数据库名称”)使用Mongoid与导轨多个数据库。 如何以编程方式找到当前数据库?
在会议Mongoid文档: http://mongoid.org/en/moped/docs/driver.html定义方法来覆盖数据库,但没有定义的方式来获得当前正在使用的数据库。
我说用Mongoid.override_database(“数据库名称”)使用Mongoid与导轨多个数据库。 如何以编程方式找到当前数据库?
在会议Mongoid文档: http://mongoid.org/en/moped/docs/driver.html定义方法来覆盖数据库,但没有定义的方式来获得当前正在使用的数据库。
得到它了!
Mongoid.default_session.options[:database]
新的方式来获得,这是
Mongoid::Config.clients["default"]["database"]
你也可以看看
Mongoid::Config.clients
看到的是提供什么。
如果你想overrided数据库您真正需要使用
Mongoid::Threaded.database_override
运行Mongoid.default_session.options [:数据库]给出一个错误,default_session是无效的。 它现在default_client。 这奇妙的作品。
运行它,而不[:数据库]把所有的选项,并查看数据库的完整配置。
Mongoid :: Config.clients [“默认”] [“数据库”]假设你不使用mongoid.yml的URI版本。 您将在所有情况下得到零。 使用Mongoid :: Config.clients [“默认”]来获得当前数据库的完整配置,或Mongoid :: Config.clients [“默认”] [“URI”]给你刚才完整URI。
最后一个端口号/后从URI接数据库名。 有可能采用分片结构来severalif