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

Kan ikke oprette forbindelse til MongoDB i Azure

Tegn som @ er begrænset, da de ødelægger strukturen af ​​URL'en. Grunden til dette er, fordi MongoDB fortolker det som @-separatoren. I stedet for dette:

var mongoClient = require("mongodb").MongoClient;
mongoClient.connect("mongodb://myuser:[email protected]@myhost.documents.azure.com:10355/?ssl=true", function (err, db) {
  db.close();
});

brug denne

mongoClient.connect("mongodb://myuser:myp%[email protected]:10355/?ssl=true", { 
  uri_decode_auth: true 
}, function (err, db) {
  db.close();
});

For at kode adgangskoden skal du bruge encodeURIComponent(password)

Du kan også bruge denne syntaks.

mongoClient.connect("mongodb://myhost.documents.azure.com:10355/?ssl=true", 
 {user: 'username', pass: '[email protected]'}, function (err, db) {
  db.close();
});

På senere versioner skal du bruge

auth: {
       user: 'username',
       password: '[email protected]',
    }

som nedenfor

mongoClient.connect("mongodb://myhost.documents.azure.com:10355/?ssl=true", {
  auth: {
   user: 'username',
   password: '[email protected]',
  }}, function (err, db) {
  db.close();
});


  1. DAO og afhængighedsindsprøjtning, rådgivning?

  2. Mongoose multi-opdatering

  3. Fjerner mange til mange referencer i Mongoose

  4. mongodb slutter sig til flere samlinger