MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB &Mongoose accédant à une base de données tout en s'authentifiant auprès d'une autre (NodeJS, Mongoose)

Voici la syntaxe pour une configuration mongodb, mongoose, node.

  1. Créez l'utilisateur de la base de données dans la base de données d'administration à partir du shell mongo

    use admin

    db.addUser( { user: "mydbuser", pwd: "mypassword", roles: [ ] } )

  2. Créez la base de données et ajoutez l'utilisateur - l'userSource indique que les informations d'identification sont définies dans la base de données d'administration

    use mydb
    db.addUser( { user: "mydbuser", userSource: "admin" , roles: [ "readWrite" , "dbAdmin"] } )

  3. Spécifiez le paramètre auth dans la chaîne de connexion mongoose

    var myDB = mongoose.createConnection("mongodb://mydbuser:[email protected]:27017/mydb" ,{auth:{authdb:"admin"}});

    l'option {auth :...} est ce qui spécifie que le compte d'utilisateur doit être authentifié auprès de la base de données d'administration.

  4. De même pour se connecter à la base de données depuis le shell mongo

    mongo myipaddr:27017/mydb -u "mydbuser" -p "mypassword"

Remarque :L'utilisateur "mydbuser" n'avait qu'un accès en lecture/écriture et administrateur à mydb. vous pouvez trouver plus d'informations sur les privilèges des utilisateurs ici . Un exemple plus complet du scénario est ici