1

我使用 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 上。

有任何想法吗?

4

1 回答 1

1

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

于 2017-12-01T16:17:31.937 回答