Является ли mongoimport --upsert непосредственно в коллекции лучшим способом? Это так медленно.
Это будет работать, но по моему опыту mongoimport
был медленным и громоздким. У него также есть некоторые серьезные ограничения: нет возможности отслеживать прогресс, нет места для проверки / проверки, нет журнала о том, что он делает.
Должен ли я думать о других методах, связанных с копиями моей коллекции?
Альтернативный метод здесь - написать скрипт, который делает это. На большинстве языков это довольно тривиально.
Это даст вам возможность отслеживать прогресс и обрабатывать неверные данные. Если вы обнаружите, что импорт особенно медленный, вы также можете разорвать процесс и разделить работу.
О скорости
Помните, что вы обновляете 625 тыс. Объектов. Если вы можете получить 1k обновлений в секунду, это еще 10 минут для обновления. Если вы запускаете mongostat
или проверяете мониторинг во время процесса импорта, вы должны получить представление о том, сколько работы выполняется.