„Baza danych MongoDB zapewnia dodatkową funkcję przywracania usuniętych danych. Podobnie jak funkcja przywracania w systemie Windows, po usunięciu naszego pliku można go przywrócić z pojemnika recyklingu za pomocą opcji przywracania. Podobnie funkcja MongoDB przywracania służy do pobrania pliku z powrotem do miejsca, w którym był przed usunięciem. Mongorestore pracuje we współpracy z MongoDump. Wykorzystaliśmy kilka przykładów do wyjaśnienia ich pracy. W tym artykule dostarczy Ci wiedzy na temat przywracania plików kopii zapasowych w MongoDB.
W celu tworzenia kopii zapasowych i przywracania w MongoDB musimy użyć dodatkowych funkcji do bazy danych; To są narzędzia bazy danych MongoDB.
Notatka: Po zainstalowaniu narzędzi musisz dodać ścieżkę w zmiennej środowiskowej, aby skutecznie używać wszystkich funkcji w narzędziach bazy danych w terminalu. Ta ścieżka jest lokalizacją folderu pojemnika obecnego w folderze narzędzi MongoDB."
Różnica między MongoDump i Mongorestore
Istnieje dwuznaczność między działaniem MongoDump i Mongorestore.
Aby wdrożyć funkcję Mongorestore, najpierw przechodzimy do Mongo Shell, aby zobaczyć wszystkie obecne bazy danych. Spośród nich wszystkie demo i drugie to dwie bazy danych, które tworzy użytkownik. Podczas gdy pozostałe trzy to domyślne bazy danych.
>> Pokaż DBSPo spojrzeniu na bazy danych, teraz zrezygnujemy z powłoki Mongo za pomocą Ctrl + C.
Terminal użytkownika służy do wykonywania wszystkich poleceń Mongorestore. Podobnie jak MongoDump, ponieważ możemy stworzyć kopię zapasową baz danych i kolekcji osobno, możemy również przywrócić usunięte dane do folderu MongoDB.
Najpierw użyjemy prostego słowa kluczowego Mongorestore. Gdy nie ma wspomnianej ścieżki, przywróci to dane w folderze Bin of MongoDump. To przywróci dane wszystkich baz danych i kolekcji w nich, które są albo usuwane lub nie usuwane.
>> MongorestorePowyższy Snap wyświetla szczegóły każdej bazy danych i kolekcji. Wszystkie dane są najpierw odczytane, a ścieżka określa lokalizację, z której Mongorestore przywróci dane.
Innym sposobem przywracania wszystkich danych jest po prostu użycie folderu zrzutu jako ścieżki w poleceniu Mongorestore. To zadziała, aby wszystkie przywrócone elementy zostały ponownie przywrócone w osobnym pliku, w tym wszystkie dane MongoDB.
>> zrzut MongurestorePrzywróć kolekcję zrzutów
Aby przywrócić kolekcję tworzenia kopii zapasowych, najpierw musimy stworzyć kopię zapasową określonej kolekcji. Więc wybraliśmy kolekcję, która jest danych obecnych w bazie danych demo. Teraz użyjemy polecenia zrzutu Mongo, aby utworzyć kopię zapasową kolekcji. To polecenie zawiera informacje z bazy danych, nazwę kolekcji, którą chcesz zrobić plik kopii zapasowej, a co najważniejsze, ścieżka, lokalizację, w której chcesz utworzyć folder. „-Out” służy do zapisania pliku.
>> MongoDump - -db Demo - - Dane dotyczące kolekcji - - Out C: \ CollectionbackupOdpowiedź tego polecenia pokaże, że zrzucanie odbywa się bez żadnej przerwy. Folder o nazwie kolekcji „Dane” jest tworzone z rozszerzeniem „BSON” na tej samej ścieżce, którą zadeklarowałeś w poleceniu. Możesz to zobaczyć, przechodząc do menedżera plików.
Teraz zastosujemy polecenie przywracania Mongo bezpośrednio do folderu kopii zapasowej. Podać dokładną ścieżkę w poleceniu, aby uniknąć jakiegokolwiek wyjątku.
>> Mongorestore C: \ CollectionbackUp \ Demo \ Data.BSONTo przywróci tylko bazę danych i nazwę kolekcji, a nie wszystkie dokumenty wewnątrz kolekcji, ponieważ w tym momencie nie dostarczyliśmy ścieżki docelowej do przechowywania danych. Więc polecenie znajdzie ten plik źródłowy również jako punkt docelowy. Wszystkie dokumenty zostaną zduplikowane, a przywrócenie tych dokumentów zostanie nie udane. Rozwiązanie tego problemu lub można powiedzieć, że najlepsze wyniki w procesie przywracania są uzyskiwane po usunięciu pliku oryginalnego lub kopii zapasowych. A następnie zastosuj polecenie przywracania.
Przywróć usuniętą kolekcję
Najpierw przejdziemy do powłoki Mongo, a następnie przejdziemy do bazy danych demonstracyjnych i wyświetlimy wszystkie kolekcje.
Następnie upuść gromadzenie danych za pomocą polecenia Drop. W tym samym czasie, kiedy sprawdzamy wszystkie kolekcje, zobaczysz, że brakuje „danych”.
>> db.dane.upuszczać()Teraz po prostu użyj polecenia przywracania z nazwą ścieżki, przy której chcesz przywrócić dane. Użyliśmy głównej ścieżki bazy danych, w której obecny jest oryginalny plik kolekcji.
>> Mongorestore C: \ BackupDatabase \ Demo \ Data.BSONObserwując ostatni wiersz wynikającego, widać, że wszystkie 4 dokumenty są przywrócone i istnieją 0 awarii. Ponownie wróć do Mongo, aby zapewnić przywrócenie gromadzenia danych.
Użyj polecenia kolekcji show.
Zobaczysz, że kolekcja „danych” jest przywrócona.
Wniosek
Głównym celem napisania tego artykułu jest wykazanie różnicy, a jednocześnie działanie narzędzi MongoDump i Mongorestore, które odgrywają ważną rolę w tworzeniu kopii danych i przywróceniu usuniętego pliku. Możesz natknąć się na taką sytuację, w której nieumyślnie usuwasz dowolną bazę danych lub kolekcję z MongoDB, za pośrednictwem polecenia lub ręcznie z folderu. Aby przezwyciężyć tę niedogodności, użyj Mongorestore.