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 に答える