2014-12-12 2 views
0

Этот метод копирования использовался для меня. Я создал проект установки Visual Studio 2010. Я остановил службу MongoDB на своей машине и скопировал файлы базы данных (* .ns, * .1, * .2, * .3 и * .4) в установку. Затем я скопировал файлы во время установки в каталог db и запустил службу MongoDB.недостающие коллекции при восстановлении MongoDB путем копирования файлов db

Это работало до тех пор, пока мне не пришлось добавлять db-переименование в качестве функции установщика. теперь файлы переименовываются и копируются и отображаются в mongovue, но список коллекций пуст. Что происходит?

Любая помощь была бы принята с благодарностью. Благодаря!

ответ

1

MongoDB использует журнал по умолчанию с 2.0. Таким образом, эта проблема может возникнуть, когда mongodb имеет данные в журнале по задержке. Вы проверяете латентность журналов, чтобы остановить экземпляр mongo после того, как весь журнал зафиксирован. Вот documantation.

Но я настоятельно рекомендую вам использовать mongodump/mongorestore для этой работы.

+0

Спасибо! Можете ли вы изменить имена файлов при восстановлении? Мне кажется, мне не понравилось, что я изменил имя файла. Я предполагаю, что у него есть что-то внутреннее для db-файла, независимо от того, является ли этот механизм журналом или что-то еще, и имя файла должно совпадать. Я буду играть с дампом и восстановлением, но на данный момент я думаю, что попытаюсь просто использовать наш процесс установки db внутри установщика. –

+0

Я не тестировал, но я не думаю, что mongod позволит вам также изменить имена файлов. Как и в моем ответе, вы можете легко интегрировать monngodump/mongorestore (поставляется с установщиком mongodb) – risyasin

Смежные вопросы