MongoDB слияние БД

#mongodb

#mongodb

Вопрос:

Есть ли способ объединить две базы данных mongodb? Таким образом, все записи и файлы из DB2 должны быть объединены в DB1.

У меня есть веб-приложение на основе Java с несколькими API для загрузки содержимого файла из MongoDB. Итак, я думаю, используя bash curl, загрузить файл, прочитать свойства записей, а затем повторно загрузить (объединить) в целевой DB1.

Однако это будет иметь проблему, поскольку тот же Mongo _id ObjectID("xxxx") из DB2 не может быть передан в DB1. MongoDB автоматически сгенерирует и присвоит значение ObjectId («xxxx») на основе того, что я понимаю.

Ответ №1:

Да, используйте Mongodump и Mongorestore.

вероятность дублирования идентификатора документа (при условии, что это не один и тот же документ) крайне мала. и в этом случае mongo сообщит вам, что вставка не удалась, и вы можете решить справиться с этим так, как считаете нужным.

Вы также можете использовать флаг проблемы с записью при восстановлении, чтобы решить, как с этим бороться при загрузке.