Перенести данные MongoDB с промежуточного сервера на производство

У меня есть 500 000 документов внутри коллекции на промежуточном сервере, мне нужно переместить эти документы на рабочий сервер.

Каков наилучший способ перемещения этих данных, могу ли я позволить mongodb реплицировать его из этапа в производство, перемещать файлы данных или выполнять экспорт и повторный импорт?

Ответы

Ответ 1

Взгляните на инструменты mongodump и mongorestore. Если вам нужны только некоторые из документов в коллекции, вы можете использовать параметр -query.

Ответ 2

  • Чтобы сбросить коллекцию, выполните

    mongodump -d dbname -c collectionname

    На компьютере с Windows это создаст папку дампа под папкой данных Mongo с файлами bson

  • Для восстановления на удаленном хосте

    mongorestore -h hostname -d dbname -c collectionname dump\dbname\collectionname.bson

Ответ 4

Простой.

На целевом сервере > mongo shell > run

db.copyDatabase( source_db_name, destination_db_name, source_hostname, username, password)

Ответ 5

Файлы данных не относятся к каждой коллекции, поэтому если вы хотите скопировать коллекцию не полный db. Если это на БД, вы можете просто скопировать файлы базы данных. Я не уверен, 32 бит против 64 бит... но я думаю, вы 64 бит, если вы запустите MongoDB.

Теперь, если коллекция существует и для обоих, и для ее слияния, будьте предельно осторожны, чтобы сохранить _id уникальным. mongoimport/mongoexport - ваш друг.