1

我有一个在 heroku 上运行的 Rails 应用程序,我正在连接 mongolab 中托管的两个数据库(X 和 Y)。

我已经配置了两个包含连接字符串的 heroku 环境变量。当我在 Y 上查询时一切正常,但是当我在 X db 上查询时,它给了我错误 16550:“未授权在 X.table 上查询”。

我已经为这些连接正确设置了两个环境变量,并且还有一个有效的用户可以访问 X db。

如果我与外壳连接一切正常。

我该如何解决这个问题?

这是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."}
4

1 回答 1

1

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

于 2013-10-09T15:44:23.897 回答