sql >> Database >  >> NoSQL >> MongoDB

MongoDB &Mongoose hebben toegang tot de ene database terwijl ze authenticeren tegen een andere (NodeJS, Mongoose)

Hier is de syntaxis voor een mongodb, mangoest, knooppuntconfiguratie.

  1. Maak de databasegebruiker in de beheerdersdatabase vanuit de mongo-shell

    use admin

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

  2. Maak de database aan en voeg de gebruiker toe - de gebruikersbron geeft aan dat de referenties zijn gedefinieerd in de beheerdersdatabase

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

  3. Specificeer de auth-parameter in de mangoest-verbindingsreeks

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

    de optie {auth:...} geeft aan dat het gebruikersaccount moet worden geverifieerd tegen de beheerdersdatabase.

  4. Evenzo om verbinding te maken met de database vanuit de mongo-shell

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

Opmerking:de gebruiker "mydbuser" had alleen lees-/schrijf- en beheerderstoegang tot mydb. u kunt hier meer informatie over gebruikersprivileges vinden . Een vollediger voorbeeld van het scenario is hier



  1. Hoe installeer ik mongodb op de beaglebone black

  2. Bash-shellscript krijgt geen verbinding met MongoDB, zelfs als de status actief is

  3. Hoe items in MongoRepository te verwijderen met behulp van queryannotatie?

  4. retourwaarde van callback in node.js en mangoest