Menyalin koleksi dalam database yang sama adalah tugas yang luar biasa; . Tutorial ini menunjukkan penggunaan C:/Users/Dell> mongorestore --version 4, C:/Users/Dell> mongorestore --version 5, C:/Users/Dell> mongorestore --version 6, dan C:/Users/Dell> mongorestore --version 7 untuk menyalin koleksi dalam database yang sama menggunakan MongoDB
Salin Koleksi Dalam Basis Data yang Sama Saat Bekerja di MongoDB
Di MongoDB versi lama, misalnya kurang dari 3. 0, kita dapat menggunakan metode C:/Users/Dell> mongorestore --version 8 sebagai C:/Users/Dell> mongorestore --version 9 untuk menyalin koleksi tetapi sekarang sudah tidak digunakan lagi
C:/Users/Dell> mongodump -d test -c teachers 0 juga tidak digunakan lagi dengan dimulainya MongoDB Versi 4. 2. Harap perhatikan bahwa C:/Users/Dell> mongorestore --version _9 membungkus C:/Users/Dell> mongodump -d test -c teachers 0, yang berarti kami tidak dapat menyalin koleksi dengan menggunakan salah satunya jika kami memiliki MongoDB versi 4. 2 atau lebih tinggi
Ada beberapa cara lain dalam versi baru MongoDB yang dapat kita gunakan untuk menyalin koleksi dalam database yang sama. Beberapa dari mereka diberikan di sini
- Gunakan perintah C:/Users/Dell> mongorestore --version 4 dan C:/Users/Dell> mongorestore --version 5
- Gunakan metode C:/Users/Dell> mongorestore --version _6
- Gunakan C:/Users/Dell> mongorestore --version _7 putaran
Mari kita mulai mempelajarinya satu per satu
Gunakan C:/Users/Dell> mongorestore --version 4 dan C:/Users/Dell> mongorestore --version 5 untuk Menyalin Koleksi Dalam Basis Data yang Sama di MongoDB
Ini adalah cara tercepat untuk mengkloning/menyalin koleksi dalam database yang sama menggunakan Alat Database MongoDB; . Alat basis data adalah rangkaian utilitas baris perintah untuk bekerja di MongoDB
Kita dapat menggunakan perintah berikut pada prompt perintah Windows untuk memeriksa versi C:/Users/Dell> mongorestore --version 4 dan C:/Users/Dell> mongorestore --version 5. Jika berhasil mengembalikan versi masing-masing, alat basis data diinstal
Jika tidak, ikuti ini untuk menginstal alat basis data
Kode Contoh
Kode Contoh
C:/Users/Dell> mongorestore --versionIngat, kita harus menjalankan perintah C:/Users/Dell> mongorestore --version _4 dan C:/Users/Dell> mongorestore --version 5 dari baris perintah sistem kita, misalnya, Command Prompt dari OS Windows atau terminal jika kita menggunakan Ubuntu. Jangan pernah menjalankan perintah ini dari mongo Shell
Setelah kami memiliki alat basis data untuk bekerja dengan MongoDB, jalankan perintah berikut untuk membuang koleksi 2022-05-27T13:05:14.497+0500 writing test.teachers to dump\test\teachers.bson 2022-05-27T13:05:14.503+0500 done dumping test.teachers (3 documents) 5 dalam basis data yang sama. 2022-05-27T13:05:14.497+0500 writing test.teachers to dump\test\teachers.bson 2022-05-27T13:05:14.503+0500 done dumping test.teachers (3 documents) _6
Kode Contoh
C:/Users/Dell> mongodump -d test -c teachers _KELUARAN
2022-05-27T13:05:14.497+0500 writing test.teachers to dump\test\teachers.bson 2022-05-27T13:05:14.503+0500 done dumping test.teachers (3 documents)
Output di atas menunjukkan bahwa file dump ditulis di 2022-05-27T13:05:14.497+0500 writing test.teachers to dump\test\teachers.bson 2022-05-27T13:05:14.503+0500 done dumping test.teachers (3 documents) 7. Jadi, kita perlu mengembalikannya menggunakan perintah yang diberikan di bawah ini
Kode Contoh
C:/Users/Dell>mongorestore -d test -c teachers1 --dir=dump//KELUARAN
2022-05-27T13:05:28.085+0500 checking for collection data in dump\test\teachers.bson 2022-05-27T13:05:28.088+0500 reading metadata for test.teachers1 from dump\test\teachers.metadata.json 2022-05-27T13:05:28.252+0500 restoring test.teachers1 from dump\test\teachers.bson 2022-05-27T13:05:28.312+0500 finished restoring test.teachers1 (3 documents, 0 failures) 2022-05-27T13:05:28.312+0500 no indexes to restore for collection test.teachers1 2022-05-27T13:05:28.313+0500 3 document(s) restored successfully. 0 document(s) failed to restore.
Outputnya akan terlihat seperti di atas, yang berarti koleksi berhasil disalin. Koleksi target bernama 2022-05-27T13:05:14.497+0500 writing test.teachers to dump\test\teachers.bson 2022-05-27T13:05:14.503+0500 done dumping test.teachers (3 documents) _8 akan dibuat jika tidak ada di database saat ini
Selanjutnya, buka shell mongo dan jalankan kueri berikut untuk melihat apakah ada koleksi yang disalin
Kode Contoh
> show collectionsKELUARAN
Sebagai alternatif, kita juga dapat menggunakan 2022-05-27T13:05:14.497+0500 writing test.teachers to dump\test\teachers.bson 2022-05-27T13:05:14.503+0500 done dumping test.teachers (3 documents) 9 untuk mengekspor koleksi (2022-05-27T13:05:14.497+0500 writing test.teachers to dump\test\teachers.bson 2022-05-27T13:05:14.503+0500 done dumping test.teachers (3 documents) 5) dari database (2022-05-27T13:05:14.497+0500 writing test.teachers to dump\test\teachers.bson 2022-05-27T13:05:14.503+0500 done dumping test.teachers (3 documents) 6) dan kemudian menggunakan C:/Users/Dell>mongorestore -d test -c teachers1 --dir=dump// 2 untuk mengimpornya ke koleksi C:/Users/Dell>mongorestore -d test -c teachers1 --dir=dump// 3 dalam database yang sama
Kode Contoh
C:/Users/Dell> mongoexport -d test -c teachers | mongoimport -d test -c teachers2 --dropGunakan Metode C:/Users/Dell> mongorestore --version _6 untuk Menyalin Koleksi Dalam Basis Data yang Sama di MongoDB
Kode Contoh
> db.teachers.aggregate([{$out: "teachers3"}])Perintah ini dijalankan menggunakan mongo shell. Setelah itu, kami menggunakan perintah C:/Users/Dell>mongorestore -d test -c teachers1 --dir=dump// _5 untuk melihat apakah C:/Users/Dell>mongorestore -d test -c teachers1 --dir=dump// 6 ada
Kode Contoh
> show collectionsKELUARAN
C:/Users/Dell> mongorestore --version 0
Kami menggunakan pipa agregasi yang mengembalikan data dari 2022-05-27T13:05:14.497+0500 writing test.teachers to dump\test\teachers.bson 2022-05-27T13:05:14.503+0500 done dumping test.teachers (3 documents) 5 koleksi dan menuliskannya ke dalam koleksi yang ditentukan, yaitu C:/Users/Dell>mongorestore -d test -c teachers1 --dir=dump// 6 di sini. Kita dapat menggunakan pendekatan ini jika kita memiliki MongoDB versi 4. 4 atau lebih
Gunakan C:/Users/Dell> mongorestore --version _7 Loop untuk Menyalin Koleksi Dalam Basis Data yang Sama di MongoDB
Kode Contoh
C:/Users/Dell> mongorestore --version _1Gunakan kueri berikut untuk mengonfirmasi bahwa 2022-05-27T13:05:28.085+0500 checking for collection data in dump\test\teachers.bson 2022-05-27T13:05:28.088+0500 reading metadata for test.teachers1 from dump\test\teachers.metadata.json 2022-05-27T13:05:28.252+0500 restoring test.teachers1 from dump\test\teachers.bson 2022-05-27T13:05:28.312+0500 finished restoring test.teachers1 (3 documents, 0 failures) 2022-05-27T13:05:28.312+0500 no indexes to restore for collection test.teachers1 2022-05-27T13:05:28.313+0500 3 document(s) restored successfully. 0 document(s) failed to restore. 0 berada dalam database yang sama
Kode Contoh
> show collectionsKELUARAN
C:/Users/Dell> mongorestore --version _3
Metode ini paling lambat dibandingkan dengan semua pendekatan di atas karena menggunakan loop. Itu mengulangi semua dokumen dari koleksi sumber dan memasukkannya ke dalam koleksi target satu per satu