MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongoose не чете от вторичната база данни Mongo

Опитайте да използвате следните опции:

var mongoose = require("mongoose");
var dbUrl = "mongodb://***.***.***.***:27017,***.***.***.***:27017,***.***.***.***:27017,***.***.***.***:27017,***.***.***.***:27017/exampleDb";

mongoose.connect(dbUrl, {
    server: { 
        readPreference: "nearest", 
        strategy: "ping"
    },
    replset: { 
        rs_name: "exampleRepSet", 
        readPreference: "nearest", 
        strategy: "ping"
    }
});

Докато документацията посочва ping като стратегия по подразбиране изглежда, че Mongoose изисква да посочите такава, когато използвате readPreference .

Също така имайте предвид, че secondaryPreferred не е същото като nearest . secondaryPreferred предпочита четене на вторични членове (както подсказва името) независимо от латентността на мрежата, където nearest приоритизира четенията към члена с най-малко мрежово забавяне.

Освен грешна конфигурация във вашия комплект реплики, уверете се, че основният ви е онлайн и достъпен - по подразбиране Mongoose ще откаже да използва вторичен, ако основният е офлайн.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $in оператор за заявка

  2. Има ли заявка за обяснение за MongoDB Linq?

  3. Плюсове и минуси на използването на MongoDB вместо MS SQL Server

  4. Spring Data MongoDB елиминира POJO

  5. Сравняване на модели за внедряване за MongoDB