7

我有一个多域 Rails 4 应用程序,其中request.domainhttp 请求决定了我向给定访问者公开哪些功能。

我的应用程序中的每个域都应由其自己的 MongoDB 数据库提供服务。例如domain1.comdb_for_domain_1等提供服务。

我可以阅读关于运行时持久性的MongoDB文档

Mongoid.override_database("db_for_#{request.domain}")

使我能够即时切换数据库。

但是当我绕过 Mongoid 并使用 mongo Shell 方法db.collection.insert()时,如何保持持久性?不过,我仍然会在我的应用程序中执行此操作。

答案可能在关于集合访问的 MongoDB 文档中,但我不明白。那么如何在此操作之前/期间切换数据库?:

MyModel.collection.insert({field_1: "Value 1", field_2: "Value 2"})
4

1 回答 1

4

如果我正确理解您的问题:您有一个应用程序连接到不同服务器上的不同 mongodb,但想使用 mongo shell 连接到应用程序外部的数据库?如果为真,您将通过 shell 连接到所需的数据库

mongo db_for_domain_1:<port>/<dbName>

接着

db.<collectionName>.insert({doc})

查看mongo --help用户名和密码选项。

于 2015-10-20T06:17:52.293 回答