Ответ 1
Взгляните на инструменты mongodump и mongorestore. Если вам нужны только некоторые из документов в коллекции, вы можете использовать параметр -query.
У меня есть 500 000 документов внутри коллекции на промежуточном сервере, мне нужно переместить эти документы на рабочий сервер.
Каков наилучший способ перемещения этих данных, могу ли я позволить mongodb реплицировать его из этапа в производство, перемещать файлы данных или выполнять экспорт и повторный импорт?
Взгляните на инструменты mongodump и mongorestore. Если вам нужны только некоторые из документов в коллекции, вы можете использовать параметр -query.
Чтобы сбросить коллекцию, выполните
mongodump -d dbname -c collectionname
На компьютере с Windows это создаст папку дампа под папкой данных Mongo с файлами bson
Для восстановления на удаленном хосте
mongorestore -h hostname -d dbname -c collectionname dump\dbname\collectionname.bson
вы также можете запустить команду db.copyDatabase с консоли или в своем приложении.
http://docs.mongodb.org/manual/tutorial/copy-databases-between-instances/
Простой.
На целевом сервере > mongo shell > run
db.copyDatabase( source_db_name, destination_db_name, source_hostname, username, password)
Файлы данных не относятся к каждой коллекции, поэтому если вы хотите скопировать коллекцию не полный db. Если это на БД, вы можете просто скопировать файлы базы данных. Я не уверен, 32 бит против 64 бит... но я думаю, вы 64 бит, если вы запустите MongoDB.
Теперь, если коллекция существует и для обоих, и для ее слияния, будьте предельно осторожны, чтобы сохранить _id уникальным. mongoimport/mongoexport - ваш друг.