错误16550:“未授权查询”mongolab

时间:2013-10-09 14:22:35

标签: ruby-on-rails mongoid mlab

我在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."}

1 个答案:

答案 0 :(得分:1)

我解决了这个问题,如果有人来这里遇到同样的问题:查看你的表模型,如果在我的情况下它是“stored_in”另一个数据库你必须在那里指定数据库上的uri = evn变量的会话。 YML