据说这个问题已经解决了最新版本的助力车,但仍然发生在我身上。我有一个带有 Mongoid 的 rails 4.2 应用程序,为具有readWrite和dbOwner角色的 MongoDB DB 创建了一个用户,并在mong.conf文件中设置了auth=true 。
我可以使用 Mongo shell 或使用 Mongo 驱动程序的简单 Java 应用程序使用该用户凭据在数据库上执行任何操作。
但是,当尝试使用 Mongoid 进行身份验证时,我总是会收到此错误:
失败,出现错误 13:“未授权查询 my_db.my_collection”
这是我的 mongoid.yml 文件的相关部分:
production:
# 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: my_db
hosts:
- localhost:27017
username: my_username
password: my_password
我还尝试用服务器的远程地址替换主机并远程访问它(在禁用身份验证选项的情况下工作)但没有成功。对于它的价值,我可以通过调试 mpped/node.rb 文件来查看凭据,在ensure_connected方法中我看到@credentials变量包含我的用户名和密码我在这里缺少什么?谢谢!