我有一个多域Rails 4应用程序,其中http请求的request.domain
确定我将给定访问者公开的功能。
我的应用中的每个域都应该由自己的MongoDB数据库提供服务。例如。 domain1.com 由 db_for_domain_1 等提供。
我可以在MongoDB docs on runtime persistence中阅读
Mongoid.override_database("db_for_#{request.domain}")
使我能够动态切换数据库。
但是当我绕过Mongoid并使用mongo Shell方法db.collection.insert()时,如何保持持久性呢?我仍然会在我的申请中做到这一点。
答案可能在MongoDB docs on collection access,但我不明白。那么如何在此操作之前/期间切换数据库?:
MyModel.collection.insert({field_1: "Value 1", field_2: "Value 2"})
答案 0 :(得分:3)
如果我理解你的问题:你有一个应用程序连接到不同服务器上的不同mongodbs,但是想使用mongo shell连接到应用程序之外的数据库?如果为true,则使用
通过shell连接到所需的数据库mongo db_for_domain_1:<port>/<dbName>
然后
db.<collectionName>.insert({doc})
请参阅mongo --help
了解用户名和密码选项。