Preferensi baca adalah sebagai berikut:
- PRIMER :Kueri dikirim ke kumpulan replika utama.
- PRIMARY_PREFERRED :Kueri dikirim ke primer jika tersedia, jika tidak, sekunder.
- SEKUNDER :Kueri didistribusikan di antara sekunder. Kesalahan muncul jika tidak ada sekunder yang tersedia.
- SECONDARY_PREFERRED :Kueri didistribusikan di antara sekunder, atau primer jika tidak ada sekunder yang tersedia.
- TERDEKAT :Kueri didistribusikan di antara semua anggota.
Jadi tidak ada tidak yang spesifik untuk terdekat sekunder. Anda dapat mencapai ini dengan menggabungkan TERDEKAT dan tag_sets dan menandai sekunder.
Kemudian jika sekunder telah diberi tag {'secondaries': 1}
Anda dapat membaca dari sekolah menengah terdekat seperti:
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}]
Pembaruan:
Anda harus memperhatikan bahwa jika pemilihan terjadi dan topologi kumpulan replika Anda berubah, maka Anda harus mengubah tag_sets secara manual untuk mewakili sekunder baru.