如何在副本集中使用conn.db.admin()。command()?

问题描述 投票:0回答:1

试图获得我在admin命令中传递的命令结果,但它会抛出一个MongoError

如何/在哪里设置rs.slaveOk()使用mongoose lib,如果它?

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
mongodb mongoose command replicaset
1个回答
1
投票

在连接字符串中添加了“读取首选项”和“复制副本名称”

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);
© www.soinside.com 2019 - 2024. All rights reserved.