MongoDB: как скопировать базу данных / коллекцию с индексами? - PullRequest
2 голосов
/ 14 июля 2011

Мне нужно перенести большой объем данных из одной реплики Монго (SRC) в другую (DST).Но важно оставить данные об экземпляре dst в доступном состоянии.Я собираюсь использовать команду copyDatabase для таких нужд.У меня тоже есть возможность скопировать уже индексы?Это могло исключить усилие на его отдых в инстанции?Рекреация сильно влияет на вторичные узлы по той причине, что процесс выполняется на переднем плане, и я хочу максимально сократить его.

Спасибо за любую помощь или советы.

1 Ответ

1 голос
/ 10 января 2012

copyDatabase () не будет копировать индексы, и поэтому они будут воссозданы в месте назначения после импорта.

Если вы запускаете исходный экземпляр mongod с включенным ведением журнала (по умолчанию в v2.0+), вы можете просто скопировать содержимое каталога данных (папка, содержащая множество файлов в формате collection_name.0, collection_name.1 и т. Д.) В каталог данных назначения и затем перезапустить экземпляр mongod назначения.

Если эти экземпляры являются частью набора реплик, вам следует копировать только файлы, относящиеся к созданным вами коллекциям, и исключать файлы "local.x", поскольку они относятся к конфигурации набора реплик.

...