Mon*_*key 31 mongoose mongodb mongohq
我的node.js应用程序中出现了一个奇怪的错误
not master and slaveOk=false code 13435
我正在使用mongoose 4.0.2点击mongodb 3.0.1进行findOne查询.该查询今天早些时候正在运行.
这个错误是什么?我正在按照他们的标准每gb计划运行mongohq.
Noc*_*rno 37
这意味着您尝试从副本集中的辅助节点读取,默认情况下只能从主节点读取.
您可以通过rs.slaveOk()
在连接到该辅助节点的mongo shell中运行来允许辅助节点接受读取.不建议允许从辅助节点读取,因为如果节点尚未与主节点同步,则可能正在读取过时数据.
Uly*_*ves 15
我通过简单地修复我的Node.js用于连接MongoDB的MongoDB的URI来解决这个问题.
当出现此错误时,我的URI就是
mongodb://user:password@host:port/datatabase
,
这给了我错误而不是master和slaveOK = false.
然后我更改了URI以添加副本集信息,URI变为如下所示:
mongodb://user:password@host:port,replicaSetHost:replicaSetPort/database?replicaSet=rs-someServer
.
现在,我不知道这是否是一般模式,因为这个配置是MongoLab使用的配置,这是我的DataBase托管的地方.但是,您可能也会通过在URI中添加副本集信息来解决问题.
小智 6
我解决了这个问题(通过连接到 IBM 上的 mongoDB 实例发生)
mongoose.connect('mongodb://host1:port1/?replicaSet=rsName');
Run Code Online (Sandbox Code Playgroud)
来自:https : //mongoosejs.com/docs/connections.html#replicaset_connections
归档时间: |
|
查看次数: |
41339 次 |
最近记录: |