У меня есть копия, установленная на MongoDB Atlas и это моя Монго оболочка строка соединения, которая соединяет идеально:Mongoose с ReplicaSet на атласе
$ 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
Как я могу преобразовать его использовать в мангусте? Как я могу построить переменную uri и options?
Я попытался следующие без успеха:
// connection string using mongoose:
var uri = 'mongodb://MY_USER:[email protected]' +
'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;
Я попытался в том числе пользователь: и пароль: по вариантам, удаление my_user: my_password @ от Ури, изменения rs_name к replicaSet, каждый неудачной попытки. Похоже, что мангуста не рассматривает вариант authSource.
Используя mongojs, он отлично работает со следующим кодом:
// connection string using mongojs:
var uri = 'mongodb://MY_USER:[email protected]' +
'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);
Но, мне нужно использовать мангуст потому что ODM в моем проекте.
Как я могу построить переменную uri и options с помощью мангуста?
какая версия мангуста, где вы используете? –
"mongoose": "^ 4.10.8" @AdeelImran Imran –