Как подключить реплик mongodb с помощью mongoengine?

Я пытаюсь подключиться к репликам MongoDB с помощью MongoEngine? Я хотел бы подключиться к любому доступному серверу-получателю.

Я могу найти только примеры pyMongo. Любой помочь?

1 ответов


если вы хотите подключиться к вторичному серверу нужно укажите предпочтение чтения например SECONDARY или SECONDARY_PREFERRED. Обратите внимание, что при чтении данных из вторичного вы должны ожидать, что данные в конечном итоге согласованы и могут быть устаревшими (т. е. изменения, возможно, еще не реплицированы из первичного).

вы захотите импортировать ReadPreference С базы pymongo драйвер для списка констант. Можно указать значение по умолчанию read_preference на уровне соединения, или в запрос.

пример использования вторичного предпочтительного (будет считываться из первичного, если вторичный недоступен):

 from mongoengine import connect
 from pymongo import ReadPreference
 connect('mydb', host='mongodb://server1:27017,server2:27017,server3:27017', replicaSet='replset', read_preference=ReadPreference.SECONDARY_PREFERRED)

вы можете проверить, если чтения собираются вторичных с помощью mongostat --discover.