Jika Anda telah mencadangkan database menggunakan mongodump utilitas, Anda dapat memulihkannya menggunakan mongorestore utilitas.
mongorestore utilitas memuat data dari dump basis data biner yang dibuat oleh mongodump atau input standar ke dalam mongod atau mongos contoh.
Periksa Alat Basis Data MongoDB
mongorestore utilitas adalah bagian dari paket Alat Database MongoDB. Alat Database MongoDB adalah rangkaian utilitas baris perintah untuk bekerja dengan MongoDB.
Jika Anda tidak yakin apakah Anda memiliki MongoDB Database Tools/mongorestore diinstal. Coba jalankan perintah berikut di Terminal atau Command Prompt Anda untuk memeriksa:
mongorestore --version Jika Anda tidak memilikinya, Anda dapat menggunakan petunjuk penginstalan di situs web MongoDB untuk menginstalnya ke sistem Anda.
Di mana Menjalankan Perintah?
Anda perlu menjalankan mongorestore perintah dari baris perintah sistem Anda (mis. Terminal baru atau jendela Prompt Perintah).
Jangan jalankan dari mongo kerang.
Pulihkan Semua Basis Data dari Direktori
Perintah berikut mengembalikan semua database yang telah dicadangkan ke dump/ direktori:
mongorestore dump/ Contoh ini mengembalikan database ke instance lokal yang berjalan pada port default 27017. Kami mengetahui hal ini, karena kami tidak menyediakan host, port, informasi autentikasi, dll.
Memulihkan Basis Data Tertentu
Anda dapat menggunakan --nsInclude parameter untuk menentukan database yang akan dipulihkan.
Contoh:
mongorestore --nsInclude="PetHotel.*" dump/
Dalam hal ini, kami memulihkan PetHotel basis data. Kami memulihkan semua koleksi, karena kami menggunakan wildcard asterisk (* ) untuk menentukan semua koleksi.
Pulihkan Koleksi Tertentu
Anda juga dapat menggunakan --nsInclude parameter untuk menentukan koleksi yang akan dipulihkan.
Contoh:
mongorestore --nsInclude="PetHotel.pets" dump/
Contoh ini mengembalikan koleksi hewan peliharaan dari PetHotel basis data. Jika database tidak ada, itu dibuat dengan satu koleksi (pets ).
Contoh ini hampir identik dengan contoh sebelumnya, kecuali bahwa alih-alih menggunakan wildcard asterisk (* ) untuk menentukan semua koleksi, kami secara eksplisit menentukan koleksi yang ingin kami pulihkan.
Ganti Nama Koleksi
Anda dapat menggunakan --nsFrom dan --nsTo parameter untuk menentukan nama baru untuk koleksi.
Contoh:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' dump/
Ini mengganti nama pets koleksi ke pets2 .
Perhatikan bahwa kode di atas juga memulihkan semua database dan koleksi lain di dump/ direktori. Satu-satunya perbedaan adalah pets koleksi dipulihkan sebagai pets2 .
Jika Anda hanya ingin memulihkan satu koleksi (dan mengganti namanya dalam proses), gunakan --nsInclude parameter.
Contoh:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' --nsInclude="PetHotel.pets" dump/ Ganti Nama Basis Data
Anda dapat menggunakan konsep yang sama untuk mengganti nama database. Cukup gunakan --nsFrom dan --nsTo parameter untuk menentukan nama baru untuk database.
Contoh:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHouse.pets' --nsInclude="PetHouse.*" dump/
Dalam hal ini saya mengganti nama PetHotel database ke PetHouse .
Perhatikan bahwa --nsInclude parameter menentukan baru nama basis data. Juga, saya menggunakan wildcard asterisk (* ) untuk memulihkan semua koleksi dalam database tersebut.
Tidak termasuk Koleksi
Anda dapat menggunakan --nsExclude parameter untuk menentukan koleksi untuk dikecualikan dari proses pemulihan.
Contoh:
mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" dump/
Contoh tersebut mengembalikan semua koleksi di PetHotel database kecuali untuk dogs koleksi.
Anda dapat menggunakan --nsExclude beberapa kali untuk mengecualikan beberapa koleksi dari proses pemulihan.
Contoh:
mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" --excludeCollection="employees" dump/ Kontrol Akses/Otentikasi
Contoh sebelumnya dilakukan pada mesin lokal menggunakan port default. Ini berarti bahwa kami dapat menjalankan mongodump tanpa menentukan hal-hal seperti --host , --port , --username , dll.
Berikut adalah contoh yang menggunakan parameter tersebut untuk mengautentikasi sebagai homer :
mongorestore --host=myhost.example.com --port=37017 --username=homer --authenticationDatabase=admin /backups/mongodump-2020-12-30
Kita juga bisa menggunakan --password parameter, tetapi kami tidak melakukannya. Jika Anda melewati --user tapi bukan --password , Anda akan dimintai sandi.
Pulihkan dari File Terkompresi
Anda dapat menggunakan --gzip parameter untuk memulihkan dari file terkompresi atau aliran data yang dibuat oleh mongodump --gzip .
Contoh:
mongorestore --gzip --nsInclude="krankykranes.*" dump3/ Mode Diam
Anda dapat menggunakan --quiet parameter untuk membatasi output di jendela Terminal atau Command Prompt Anda.
mongorestore --quiet Tanpa menggunakan ini, Anda mungkin akan melihat daftar besar tampilan, koleksi, dll yang dipulihkan.
Mode Verbose
Di sisi lain, Anda dapat menggunakan --verbose atau -v parameter untuk meningkatkan output di jendela Terminal atau Command Prompt Anda.
mongorestore --verbose
Anda dapat meningkatkan verbositas dengan mengulangi -v bentuk beberapa kali.
Contoh:
mongorestore -vvvv Informasi Lebih Lanjut tentang mongodump
mongorestore utilitas menerima banyak parameter berguna lainnya, dan ada juga berbagai faktor yang perlu dipertimbangkan saat menggunakannya sebagai bagian dari strategi pencadangan dan pemulihan.
Lihat mongorestore dokumentasi di situs web MongoDB untuk info lebih lanjut.
Opsi Lain
mongodump dan mongorestore adalah alat yang sederhana dan efisien untuk mencadangkan dan memulihkan penerapan MongoDB kecil, tetapi tidak ideal untuk merekam cadangan sistem yang lebih besar.
Lihat Metode Pencadangan MongoDB di situs web MongoDB untuk metode lain dalam mencadangkan dan memulihkan basis data MongoDB Anda.