sql >> Database >  >> NoSQL >> MongoDB

Kan geen verbinding maken met MongoDB in Azure

Tekens zoals @ zijn beperkt omdat ze de structuur van de URL verpesten. De reden hiervoor is dat MongoDB het interpreteert als het @-scheidingsteken. In plaats van dit:

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

gebruik dit

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

Gebruik encodeURIComponent(password) . om het wachtwoord te coderen

U kunt deze syntaxis ook gebruiken.

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

Gebruik in latere versies

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

zoals hieronder

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


  1. Mongoose roept geoNear aan met GeoJSON-punten omdat queryparameters niet werken

  2. Hoe Redis RDB en AOF uitschakelen?

  3. mangoest - selecteer specifieke velden in Model.create

  4. Hoe een groot aantal documenten in MongoDB het meest efficiënt bijwerken?