Как использовать conn.db.admin (). command () на вторичном в наборе реплик? - PullRequest
0 голосов
/ 15 февраля 2019

Попытка получить результаты команды, которую я передал в команде администратора, но это отбрасывает меня обратно MongoError

как / где установить rs.slaveOk () с помощью библиотеки mongoose, если это так?

conn = mongoose.createConnection(`mongodb://localhost:port`)
cmd = "someCommand"
conn.db.admin().command(cmd, (err, result)=>{
if(err){
console.error(err) 
}
resolve(result)
})
// MongoError: not master and slaveOk=false

1 Ответ

0 голосов
/ 20 февраля 2019

Добавлено предпочтение чтения и имя набора реплики в строке подключения

https://mongoosejs.com/docs/connections.html#connection-string-options https://mongoosejs.com/docs/api.html#query_Query-read

var options = {
     "db": {
     "readPreference": "secondaryPreferred"
     },
     "replset": {
         "rs_name": "replica_name",
     }
 }

 var connection = 
 mongoose.createConnection(`mongodb://localhost:27030/dbname`, options);
...