我在heroku上运行了一个Rails应用程序,我在mongolab(X和Y)中托管了两个dbs。
我已经配置了两个包含连接字符串的heroku env变量。 当我在Y上查询时一切正常,但是当我在X db上查询时,它给出了错误16550:“未授权查询X.table”。
我已经为这些连接正确设置了两个env变量,并且还有一个有效的用户来访问X db。
如果我连接shell,一切正常。
我该如何解决这个问题?
以下是rails中的错误消息:
{"status":"500",
"error":"The operation: #<Moped::Protocol::Query\n @length=88\n @request_id=4\n @response_to=0\n
@op_code=2004\n @flags=[:slave_ok]\n
@full_collection_name=\"X.table\"\n
@skip=0\n @limit=0\n
@selector={\"_id\"=>\"5252c92521e4af681a000002\"}\n
@fields=nil>\n
failed with error 16550: \"not authorized for query on X.table\"\n\n
See https://github.com/mongodb/mongo/blob/master/docs/errors.md\nfor details about this error."}
答案 0 :(得分:1)
我解决了这个问题,如果有人来这里遇到同样的问题:查看你的表模型,如果在我的情况下它是“stored_in”另一个数据库你必须在那里指定数据库上的uri = evn变量的会话。 YML