sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB &Mongoose kommer åt en databas medan de autentiseras mot en annan (NodeJS, Mongoose)

Här är syntaxen för en mongodb, mongoose, nodinstallation.

  1. Skapa databasanvändaren i admindatabasen från mongo-skalet

    use admin

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

  2. Skapa databasen och lägg till användaren - userSource indikerar att referenserna är definierade i admindatabasen

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

  3. Ange auth-parametern i mongoose-anslutningssträngen

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

    alternativet {auth:...} är det som anger att användarkontot måste autentiseras mot admin db.

  4. På samma sätt för att ansluta till databasen från mongo-skalet

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

Notera:Användaren "mydbuser" hade bara läs/skriv- och administratörsbehörighet till mydb. du kan hitta mer information om användarrättigheter här . Ett mer utförligt exempel på scenariot finns här



  1. mongoimport i docker-compose ger mig felet "Kan inte starta tjänsten".

  2. Mongoid Association Skapar (oönskade) poster

  3. hur man visar 0 för vecka när ingen post matchar den veckan i $week mongodb-fråga

  4. Vad är skillnaden mellan en changeStream och tailable cursor i MongoDB