निम्नलिखित विकल्पों का उपयोग करके देखें:
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
. निर्दिष्ट करता है डिफ़ॉल्ट रणनीति के रूप में, ऐसा लगता है कि जब आप readPreference
का उपयोग करते हैं तो Mongoose अनिवार्य है कि आप एक निर्दिष्ट करें .
यह भी ध्यान दें कि secondaryPreferred
nearest
के समान नहीं है . secondaryPreferred
नेटवर्क विलंबता की परवाह किए बिना माध्यमिक सदस्यों (जैसा कि नाम से पता चलता है) को पढ़ना पसंद करते हैं, जहां nearest
सबसे कम नेटवर्क विलंबता वाले सदस्य को पढ़ने को प्राथमिकता देता है।
आपके प्रतिकृति सेट में एक गलत कॉन्फ़िगरेशन से कम, सुनिश्चित करें कि आपका प्राथमिक ऑनलाइन है और पहुंच योग्य है - डिफ़ॉल्ट रूप से अगर प्राथमिक ऑफ़लाइन है तो Mongoose द्वितीयक का उपयोग करने से इंकार कर देगा।