2013-08-21 83 views
2

Mongoid提供了几个选项来更改使用哪个mongodb数据库,方法是指定新的数据库或将会话名称更改为已在mongoid.yml文件中定义的名称。Mongoid动态更改主机

我想知道是否有办法在运行应用程序时更改会话(即mongodb主机)。

因此,举例来说,如果我开始了我的应用程序,它最初工作过的主要数据库服务器1,有没有办法说使用样品在服务器2

回答

2

下允许用户添加会话动态

session_hash = {"database" => "testmongo", "hosts" => ["127.0.0.1:3003"], "username" => "testuser", "password" => "test_password"} 
Mongoid::Config.sessions[:mongo_dynamic] = session_hash 
1
Model.with(database: "other_db_name").create() 

我数据库不知道你是否可以指定一个不同的服务器。但它值得一试

+0

这不工作,因为它假定数据库在mongoid.yml文件中定义的,而连接需要创建动态的,例如,如果我从数据库中提取连接参数并需要将其添加到mongoid会话集合中。 – user2701762