How to run SlaveOk in Mongoose?

家住魔仙堡 提交于 2020-01-01 20:01:53

问题


How to call SlaveOK on query in Mongoose?

for example, I have this:

SiteModel.find({}, function(err, docs) { .... } );

Should I do this???

SiteModel.slaveOK().find({}, function(err,docs) { ... } );

回答1:


Here's the official example from the Mongoose.js website:

Model
.where('age').gte(25)
.where('tags').in(['movie', 'music', 'art'])
.select('name', 'age', 'tags')
.skip(20)
.limit(10)
.asc('age')
.slaveOk()
.hint({ age: 1, name: 1 })
.run(callback);

So I guess your example above would probably work, but do it like so:

Model.find(conditions).slaveOk().run(callback);



回答2:


mongoose.Query.slaveOk has been deprecated in favour of mongoose.Query.read(readPreference). docs

So, to iterate on the example above:

Model
.where('age').gte(25)
.where('tags').in(['movie', 'music', 'art'])
.select('name', 'age', 'tags')
.skip(20)
.limit(10)
.asc('age')
.read('secondaryPreferred')
.hint({ age: 1, name: 1 })
.run(callback);


来源:https://stackoverflow.com/questions/8364388/how-to-run-slaveok-in-mongoose

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!