MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगोडब पढ़ें वरीयताएँ

पढ़ने की प्राथमिकताएं इस प्रकार हैं:

  • प्राथमिक :प्रतिकृति सेट के प्राथमिक को प्रश्न भेजे जाते हैं।
  • PRIMARY_PREFERRED :यदि उपलब्ध हो तो प्राथमिक को प्रश्न भेजे जाते हैं, अन्यथा द्वितीयक।
  • द्वितीयक :प्रश्नों को सेकेंडरी के बीच वितरित किया जाता है। यदि कोई सेकेंडरी उपलब्ध नहीं है तो एक त्रुटि उठाई जाती है।
  • SECONDARY_PREFERRED :प्रश्नों को सेकेंडरी या प्राइमरी के बीच वितरित किया जाता है यदि कोई सेकेंडरी उपलब्ध नहीं है।
  • निकटतम :प्रश्न सभी सदस्यों के बीच वितरित किए जाते हैं।

तो नहीं है निकटतम . के लिए विशिष्ट माध्यमिक। आप इसे NEAREST और tag_sets को मिलाकर हासिल कर सकते हैं। और सेकेंडरी को टैग करना।

फिर यदि सेकेंडरी को टैग किया गया है {'secondaries': 1} आप इस तरह निकटतम माध्यमिक से पढ़ सकते हैं:

from pymongo import ReplicaSetConnection
from pymongo import ReadPreference

db = ReplicaSetConnection('localhost:27017', replicaSet='rs1')['my_db']
db.read_preference = ReadPreference.NEAREST
db.tag_sets = [{'secondaries': 1}]

अपडेट करें:

आपको ध्यान देना चाहिए कि यदि कोई चुनाव होता है और आपके रेप्लिकासेट की टोपोलॉजी बदल जाती है तो आपको नई सेकेंडरी का प्रतिनिधित्व करने के लिए टैग_सेट को मैन्युअल रूप से बदलना होगा।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. आप mongoose (mongodb) में node.js के साथ एक सरणी पर कैसे जुड़ते हैं?

  2. लेखन त्रुटि:पथ एक स्ट्रिंग या बफर मीन स्टैक होना चाहिए

  3. MongoDB में फ़ील्ड को एन्क्रिप्ट कैसे करें

  4. कैसे करें:उपयोगकर्ता के प्रशंसक हैं

  5. लिफ्ट के लिए मोंगो ऑथ ऐप बनाने के लिए मुझे एसबीटी 0.11.2 की आवश्यकता है