sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB y Mongoose acceden a una base de datos mientras se autentican contra otra (NodeJS, Mongoose)

Aquí está la sintaxis para una configuración de nodo mongodb, mongoose.

  1. Cree el usuario de la base de datos en la base de datos de administración desde el shell de mongo

    use admin

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

  2. Cree la base de datos y agregue el usuario:el origen del usuario indica que las credenciales están definidas en la base de datos de administración

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

  3. Especifique el parámetro de autenticación en la cadena de conexión de mangosta

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

    la opción {auth:...} es lo que especifica que la cuenta de usuario debe autenticarse en la base de datos del administrador.

  4. De manera similar, para conectarse a la base de datos desde el shell mongo

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

Nota:El usuario "mydbuser" solo tenía acceso de lectura/escritura y administrador a mydb. puede encontrar más información sobre los privilegios de usuario aquí . Un ejemplo más completo del escenario está aquí