sql >> Databáze >  >> NoSQL >> MongoDB

Mongoose nečte ze sekundární databáze Mongo

Zkuste použít následující možnosti:

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"
    }
});

Zatímco dokumentace specifikuje ping jako výchozí strategie se zdá, že příkazy Mongoose zadáte, když použijete readPreference .

Všimněte si také, že secondaryPreferred není to samé jako nearest . secondaryPreferred preferuje čtení sekundárních členů (jak název napovídá) bez ohledu na latenci sítě, kde nearest upřednostňuje čtení na člena s nejnižší latencí sítě.

Kromě chybné konfigurace ve vaší sadě replik se ujistěte, že primární je online a je dosažitelné – ve výchozím nastavení Mongoose odmítne použít sekundární, pokud je primární offline.



  1. Mongodb:proč show dbs nezobrazuje mé databáze?

  2. Rostoucí význam MongoDB v oblasti datové vědy

  3. Redis - sledování využití paměti

  4. Agregační funkce duplikuje položky v ng-repeat při obnovení stránky. Je třeba zjistit, jak zastavit duplicitu. Mangusta Angularjs Mongodb