gpt4 book ai didi

ruby-on-rails-3 - 连接到两个数据库Mongoid

转载 作者:行者123 更新时间:2023-12-04 13:23:29 26 4
gpt4 key购买 nike

我有两个必须在应用程序中使用的数据库。我的 mongoid.yml 中包含以下内容:

development:
# Configure available database sessions. (required)
sessions:
# Defines the default session. (required)
default:
# Defines the name of the default database that Mongoid can connect to.
# (required).
database: db_development
username: myusername
password: mypassword
# Provides the hosts the default session can connect to. Must be an array
# of host:port pairs. (required)
hosts:
- myserverip:27017
databases:
secondary:
database: db2_development
username: myusername
password: mypassword
# Provides the hosts the default session can connect to. Must be an array
# of host:port pairs. (required)
hosts:
- myserverip:27018

在我的模型文件中:
class MyModel
include Mongoid::Document
store_in database: "secondary"
field :name, type: String
field :age, type: Integer
end

我在MyModel中有数据。当我尝试查询时,出现以下错误:
Moped::Errors::QueryFailure (The operation: #<Moped::Protocol::Query
@length=96
@request_id=5
@response_to=0
@op_code=2004
@flags=[:slave_ok]
@full_collection_name="secondary.mymodel"
@skip=0
@limit=0
@selector={"name"=>"Tom"}
@fields=nil>
failed with error 10057: "unauthorized db:secondary ns:secondary.mymodel lock type:0 client:10.100.55.40"

我尝试在线搜索,但没有任何解决方案。任何帮助,将不胜感激。提前致谢。

最佳答案

嗯,你能做到这一点吗?好像您弄乱了yaml文件

development:
sessions:
default:
database: db_development
username: my_username
password: my_password
hosts:
- myserverip:27017
options:
consistency: :eventual
writeable:
database: db2_development
username: myusername2
password mypassword2
hosts:
- myserverip2:27018
options:
consistency: strong

在您的模型中写下
store_in session: "writeable"
class MyModel
include Mongoid::Document
store_in session: "writeable"
field :name, type: String
field :age, type: Integer
end

仅供引用,从未使用 password选项进行测试,但我想它会工作

希望这个帮助

关于ruby-on-rails-3 - 连接到两个数据库Mongoid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16400458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com