Монгоэкспорт с предпочтением чтения, содержащий теги
Я пытаюсь экспортировать коллекцию из моего MongoDB, но я бы хотел, чтобы экспорт осуществлялся с определенного вторичного сервера с использованием тегов в настройках чтения. Моя MongoDB состоит из одного набора реплик: первичный-вторичный-вторичный. Один вторичный тег помечен как "tgg":"tgg1", а второй вторичный тег "tgg": "tgg2".
Этот набор реплик настроен как отдельный осколок. С клиентом mongos, работающим на порту localhost:47010.
Я использую mongoexport 3.4
Я запускаю команду mongoexport:
mongoexport --port 47010 --db test --collection test_collection --out ~/tmp/mongo/test.json --readPreference '{"mode":"secondary", "tags":[{"tgg":"tgg2"}]}' --verbose
Я получаю следующую ошибку:
Failed: Не удалось вызвать скажем, нет хороших узлов в replset1
Но, если я не укажу теги, а только то, что режим "вторичный", все работает.
Я что-то здесь упускаю?
РЕДАКТИРОВАТЬ
Так что я обнаружил, что было не так, мне пришлось перейти к их исходному коду в github для этого, но все же. Сразу скажу, что сообщения об ошибке недостаточно. Кажется, я предоставил список тегов, а не просто объект Json. Итак, сработала следующая команда:
mongoexport --port 47010 --db test --collection test_collection --out ~/tmp/mongo/test.json --readPreference '{mode:"secondary", tags:{"tgg":"tgg2"}}' --verbose
1 ответ
Попробуйте подключиться к нужному вторичному с --host
параметр в mongoexport
сама команда:
mongoexport --port 47010 --db test --collection test_collection --out ~/tmp/mongo/test.json --host <ip-or-hostname-of-secondary-tagged as tgg2>