我使用的是Nodejs版本10.15和mongojs驱动程序版本2.6.0。
当我在mongojs连接url中使用readPreference = secondaryPreferred方法和plicateSet选项时,所有数据库写入操作也都将发送到辅助服务器,并且出现非主控mongo错误。
请在示例下方找到
findAndModifyAsync方法写入辅助服务器
var Promise = require("bluebird");
var mongojs = require("mongojs");
Promise.promisifyAll([
require("mongojs/lib/collection"),
require("mongojs/lib/database"),
require("mongojs/lib/cursor")
]);
db = mongojs(mongodb://userId:password@1:27018,2:27018,3:27018/dbName?readPreference=secondaryPreferred&maxStalenessSeconds=120&replicaSet=test);
var Test = db.collection("test");
Test.findAndModifyAsync(
{ query: \{ _id:test_id }
,
update:testdata,
new:true,
upsert:true
})
.then(function(results) {
})