Mangouste avec ReplicaSet sur l'Atlas

J'ai un jeu de réplicas sur MongoDB Atlas et c'est mon shell mongo chaîne de connexion qui relie parfaitement:

$ mongo "mongodb://MY_SERVER-shard-00-00-clv3h.mongodb.net:27017,MY_SERVER-shard-00-01-clv3h.mongodb.net:27017,MY_SERVER-shard-00-02-clv3h.mongodb.net:27017/MY_DATABASE?replicaSet=MY_REPLICASET-NAME-shard-0" --ssl --username MY_USERNAME --password MY_PASSWORD --authenticationDatabase MY_ADMIN_DATABASE

Comment puis-je convertir utiliser dans mangouste? Comment puis-je construire ma uri et les options de la variable?

J'ai essayé sans succès:

  //connection string using mongoose:
  var uri = 'mongodb://MY_USER:MY_PASSWORD@' +
    'MY_SERVER-shard-00-00-clv3h.mongodb.net:27017,' +
    'MY_SERVER-shard-00-01-clv3h.mongodb.net:27017,' +
    'MY_SERVER-shard-00-02-clv3h.mongodb.net:27017/MY_DATABASE';

  var options = {
    replset: {
      ssl: true,
      authSource: 'MY_ADMIN_DATABASE',
      rs_name: 'MY_REPLICASET_NAME-shard-0'
    }
  };

  mongoose.connect(uri, options);
  var db = mongoose.connection;

J'ai essayé, y compris de l'utilisateur: et pass: sur options, suppression MY_USER:MY_PASSWORD@ d'uri, de changer rs_name de jeu de réplication, chaque tentative infructueuse. Il semble que la mangouste n'est pas compte tenu de la authSource option.

À l'aide de la mongojs, il fonctionne très bien avec le code suivant:

  //connection string using mongojs:
  var uri = 'mongodb://MY_USER:MY_PASSWORD@' +
    'MY_SERVER-shard-00-00-clv3h.mongodb.net:27017,' +
    'MY_SERVER-shard-00-01-clv3h.mongodb.net:27017,' +
    'MY_SERVER-shard-00-02-clv3h.mongodb.net:27017/MY_DATABASE';

  var options = {
    ssl: true,
    authSource: 'MY_ADMIN_DATABASE',
    replicaSet: 'MY_REPLICASET_NAME-shard-0'
  };

  var db = mongojs(uri,'', options);

Mais, j'ai besoin d'utiliser la mangouste à cause de l'ODM dans mon projet.

Comment puis-je construire ma uri et les options de la variable à l'aide de la mangouste?

OriginalL'auteur Biruel Rick | 2016-12-18