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

Předvolby čtení Mongodb

Předvolby čtení jsou následující:

  • PRIMÁRNÍ :Dotazy se odesílají primární části sady replik.
  • PRIMARY_PREFERRED :Dotazy jsou odesílány na primární, pokud jsou k dispozici, jinak na sekundární.
  • SEKUNDÁRNÍ :Dotazy jsou distribuovány mezi sekundární. Pokud nejsou k dispozici žádné sekundární položky, dojde k chybě.
  • SECONDARY_PREFERRED :Dotazy jsou rozděleny mezi sekundární nebo primární, pokud není k dispozici žádná sekundární.
  • NEJBLIŽŠÍ :Dotazy jsou rozděleny mezi všechny členy.

Takže ne konkrétní pro nejbližší sekundární. Toho můžete dosáhnout kombinací NEAREST a sady značek a označování sekundárních souborů.

Pak, pokud byly sekundární stránky označeny {'secondaries': 1} můžete číst z nejbližšího sekundárního bodu takto:

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}]

Aktualizace:

Měli byste si uvědomit, že pokud dojde k volbě a změní se topologie vaší sady replik, budete muset ručně změnit sady tagů tak, aby reprezentovaly nové sekundární prvky.



  1. Spring Data Mongodb:Aktualizace dokumentů

  2. Instalace MongoDB na Raspberry Pi

  3. Jak můžeme implementovat stránkování pro kolekci Mongodb pomocí mongoTemplate

  4. získat záznam s alespoň jedním přidruženým objektem