MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB e Mongoose accedono a un database durante l'autenticazione rispetto a un altro (NodeJS, Mongoose)

Ecco la sintassi per una configurazione di nodo mongodb, mangusta.

  1. Crea l'utente del database nel database di amministrazione dalla shell mongo

    use admin

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

  2. Crea il database e aggiungi l'utente:userSource indica che le credenziali sono definite nel database di amministrazione

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

  3. Specificare il parametro auth nella stringa di connessione mongoose

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

    l'opzione {auth:...} è ciò che specifica che l'account utente deve essere autenticato rispetto al db admin.

  4. Allo stesso modo per connettersi al database dalla shell mongo

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

Nota:l'utente "mydbuser" aveva solo accesso in lettura/scrittura e amministratore a mydb. puoi trovare maggiori informazioni sui privilegi utente qui . Un esempio più completo dello scenario è qui