MongoDB mongorestore та існуюча колекція із записами


81

Мені потрібно імпортувати (відновити) колекцію, згенеровану mongodumpв існуючу базу даних, і я хотів би, щоб записи були об’єднані в існуючу колекцію.

Є чи mongorestoreоб'єднати записи в одній і тій же колекції або знизить існуючу колекцію перед поновленням записів?

Відповіді:


133

mongorestoreбуде скинути наявну колекцію, лише якщо ви використовуєте --dropаргумент.

Якщо ви не використовуєте --drop, усі документи будуть вставлені до існуючої колекції, якщо документ із таким самим _idвже не існує. Документи з цим самим _idбуде пропущено, вони не об’єднані. Тому mongorestoreніколи не буде видаляти чи змінювати будь-які існуючі дані за замовчуванням.


чи монгодб насправді скидається за допомогою опції --drop? У моєму випадку при відновленні я бачу попередні записи, додані після зняття дампа. Ви можете вирішити мою проблему тут stackoverflow.com/questions/22424347 / ...
codeofnode

2
Посилання Mongorestore на відповідь вище: docs.mongodb.org/manual/reference/program/mongorestore/…
Томас Ромеро

5
@codeofnode з документації: --drop does not drop collections that are not in the backup.. Вам слід перевірити, чи колекція, яку ви очікуєте скинути, справді присутня в резервній копії.
csvan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.