如何解决"not authorized for query on db.users" Mongoid

How to resolve "not authorized for query on db.users" Mongoid

我使用 Rails 4 和 Mongoid 4 创建了一个新的 Rails 应用程序。我在 运行 我的测试中遇到此错误 "not authorized for query on mydb.users":

RSpec.describe User, type: :model do

    it "is invalid without a name" do
        user = User.new(name: nil)
        user.valid?
        expect(user).to be_invalid
    end
    ...

end

起初我以为这是 Mongoid 和 MongoDB 的授权问题,但我可以在控制台中访问 mongoldb/db/collection 而无需身份验证。

因为我是 Rspec 测试的新手,所以我不确定问题出在我的测试,mongoid 还是 mongodb.

有什么想法吗?

MongoDB 提供数据库级别的访问,它也存储在数据库级别。您需要提供对此数据库的访问权限,例如: use mydb; db.createUser( { user: "accountUser", pwd: "password", roles: [ "readWrite", "dbAdmin" ] } )