MongoDB mongorestore i istniejąca kolekcja z rekordami


82

Muszę zaimportować (przywrócić) kolekcję wygenerowaną za pomocą mongodumpdo istniejącej bazy danych i chcę, aby rekordy zostały scalone z istniejącą kolekcją.

Czy mongorestorescali rekordy w tej samej kolekcji, czy usunie istniejącą kolekcję przed przywróceniem rekordów?

Odpowiedzi:


134

mongorestoreusunie istniejącą kolekcję tylko wtedy, gdy użyjesz --dropargumentu.

Jeśli nie używasz --drop, wszystkie dokumenty zostaną wstawione do istniejącej kolekcji, chyba że _idistnieje już dokument z takimi samymi . Dokumenty z tym samym _idzostaną pominięte, nie zostaną scalone. Dlatego mongorestoredomyślnie nie usunie ani nie zmodyfikuje żadnych istniejących danych.


czy mongodb jest faktycznie usuwany przy użyciu opcji --drop? W moim przypadku podczas przywracania widzę poprzednie rekordy, które zostały dodane po zrobieniu zrzutu. czy możesz rozwiązać mój problem tutaj stackoverflow.com/questions/22424347/ ...
codeofnode

2
Odpowiedź na powyższą odpowiedź w Mongorestore
Tomas Romero

5
@codeofnode z dokumentacji: --drop does not drop collections that are not in the backup.. Należy sprawdzić, czy kolekcja, która ma zostać usunięta, rzeczywiście znajduje się w kopii zapasowej.
csvan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.