При использовании readPreference primaryPreferred также выполняется запись на дополнительный сервер - PullRequest
0 голосов
/ 01 мая 2019

Я использую nodejs версии 10.15 и mongojs версии 2.6.0.

Когда я использую метод readPreference = secondPreferred и параметр replicateSet в URL-адресе соединения mongojs, все записи в БД также отправляются на вторичный сервер, и я получаю сообщение об ошибке «Не мастер-монго».

Ниже приведен пример

Метод 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) {
})
...