gpt4 book ai didi

ruby - Mongo::OperationFailure - 使用 from_uri 时需要登录

转载 作者:可可西里 更新时间:2023-11-01 09:31:57 25 4
gpt4 key购买 nike

我的目标是连接我的 heroku/mongolab 数据库,但我一直收到此错误:

Mongo::OperationFailure at /mongotest/a/b
: need to login
file: networking.rb
location: send_message_with_gle
line: 89

我使用的代码是:

client = Mongo::MongoClient.from_uri(ENV['MONGOLAB_URI'])
db = client.db('test')
testcoll = db['testcoll']
testcoll.insert({:'_id' => "def", :'test' => "woop de doop"})
testcoll.find()

ENV['MONGOLAB_URI']=mongodb://heroku_app########:password@ds0xxxxx.mongolab.com:xxxxx/heroku_app########

我知道uri是正确的,包含用户名和密码,那为什么会报错呢?此外,错误发生在 insert() 行,而不是我进行身份验证的行。

最佳答案

好吧,原来 url 将我连接到 heroku_app######## 数据库,但我随后尝试访问名为 test 的数据库所以很明显我没有通过身份验证。本来不错 Mongo 返回了一个错误,指出我已经登录但没有登录到正确的数据库。好吧。

我没有足够注意uri的格式,即

mongodb://username:password@host:port/database

事实证明,数据库部分……非常重要。

(我实际上是在写测试的时候找到了这个问题的答案,但如果这个答案已经存在,它可能会为我节省大量时间,这让我很尴尬,所以我重新写了一遍,然后自己回答。)

关于ruby - Mongo::OperationFailure - 使用 from_uri 时需要登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15562279/

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