2017-09-30 9 views
0

je application créée à l'aide mongodb + NodeJSMongoDB "readWrite" rôle ne permettant pas de lire les données de la collection - NodeJS

J'ai ajouté un nouvel utilisateur avec des rôles suivants dans MongoDB

{ 
     "_id" : "testdb.testdbuser", 
     "user" : "testdbuser", 
     "db" : "testdb", 
     "roles" : [ 
       { 
         "role" : "read", 
         "db" : "testdb" 
       }, 
       { 
         "role" : "readWrite", 
         "db" : "testdb" 
       } 
     ] 
} 

serveur Commencé en utilisant --auth option. Et également commencé application de noeud en utilisant les informations d'identification de l'utilisateur mongodb.

Mais, je ne suis pas en mesure de lire les données de la collection user dans la base de données testdb.

Obtenir cette erreur: MongoError: not authorized for query on testdb.user

S'il vous plaît toute suggestion? Quelque chose que je manque?

+0

utilisez-vous mongodb via mLab ou via voie localhost créé? –

+0

J'utilise mongodb via localhost –

Répondre

1

Vous devez attribuer le rôle de lecture à l'utilisateur testdbuser.

rôle testsdbuser ne comprend pas l'accès en lecture sur les collections non-système. Vous pouvez donner comme ça, il semble,

db.grantRolesToUser(
    "testdbuser", 
    [ 
     { role: "read", db: "testdb" } 
    ] 
) 
+0

Oui fonctionne bien maintenant –

+0

pouvez-vous s'il vous plaît upvote et marquer ce poste complet, alors? –