sql >> Databáze >  >> NoSQL >> MongoDB

Nelze se připojit k MongoDB v Azure

Znaky jako @ jsou omezeny, protože narušují strukturu adresy URL. Důvodem je to, že to MongoDB interpretuje jako oddělovač @. Místo toho:

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

použijte toto

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

Pro zakódování hesla použijte encodeURIComponent(password)

Můžete také použít tuto syntaxi.

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

V novějších verzích použijte

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

jak je uvedeno níže

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


  1. Server Mongo přijímá přihlašovací údaje ze shellu, ale ne z rozhraní Java/Scala

  2. proč DuplicateKeyError:E11000 index chyby duplicitního klíče:test.test.$notification_1 dup key:{ :null }

  3. MongoDB + nodejs:jak se dotazovat na pole ISODate?

  4. mongodb javascript na straně serveru je vlastně na straně klienta?