当我使用GridF保存文件时,我试图覆盖客户端连接和数据库。
我已经找到了Mongoid.override_client
方法,但是不确定如何使用此方法。
我已经在默认数据库下面的mongoid.yml文件中添加了一个新客户端:
development:
clients:
default:
#standard default db stuff
attachDb:
database: attachments
hosts:
- localhost:27017
options:
read:
mode: :primary_preferred
truncate_logs: false
user: username
password: password
auth_mech: :scram
auth_source: authDb
当我运行以下内容时
Mongoid::Clients.clients.each do |name, client|
puts name
puts client
end
仅显示我的默认数据库
我还尝试运行Mongoid.override_client(:attachDb)
,以防万一它起作用,但似乎什么也没做。
如何使新的客户端连接正常工作?
当您调用Mongoid.override_client(:attachDb)时,所有对数据库的查询和命令都将连接到您在此线程中已重写的客户端。喜欢:
User.where.first() # return first User in default db.
Mongoid.override_client(:attachDb)
User.where.first() # return first User in attachDb db.