Alat Database MongoDB menyertakan utilitas yang disebut mongoexport yang memungkinkan Anda mengekspor data MongoDB ke file CSV atau JSON.
Artikel ini menunjukkan cara menggunakan mongoexport untuk mengekspor koleksi MongoDB ke file JSON.
Sintaks
Sintaks untuk mongoexport seperti ini:
mongoexport --collection=<coll> <options> <connection-string>
Anda perlu menjalankan mongoexport perintah dari baris perintah sistem Anda (mis. Terminal baru atau jendela Prompt Perintah).
Jangan jalankan mongoexport perintah dari mongo kerang.
Ekspor Koleksi
Contoh kode berikut mengekspor koleksi dari MongoDB ke file JSON:
mongoexport --db=PetHotel --collection=pets --out=data/pets.json
Ini mengekspor koleksi yang disebut pets dari PetHotel database ke file bernama pets.json di data/ map.
Jika folder tidak ada, itu dibuat. Sama dengan filenya. Omong-omong, ini mengasumsikan bahwa tidak ada masalah izin dengan menulis file ke lokasi yang ditentukan.
Dalam contoh ini saya tidak menentukan host, port, otentikasi, dll, sehingga mengekspor koleksi dari instance MongoDB yang berjalan pada nomor port localhost default 27017 .
Contoh di atas juga bisa ditulis seperti ini:
mongoexport --db=PetHotel --collection=pets --type=json --fields=_id,name,type,weight --out=data/pets.json
Dalam hal ini kami menambahkan --type parameter dan --fields parameter untuk menentukan bidang mana yang akan disertakan dalam file JSON.
Di bawah ini adalah penjelasan dari parameter yang kami berikan di sini.
| Parameter | Deskripsi |
|---|---|
--db atau -d | Menentukan database yang berisi koleksi yang ingin kita ekspor. Dalam hal ini, databasenya disebut PetHotel . Parameter ini sebagai alternatif dapat diteruskan menggunakan -d (bukan --db ). |
--collection atau -c | Menentukan koleksi yang ingin kita ekspor. Dalam hal ini, koleksinya disebut pets . Parameter ini dapat diteruskan sebagai -c (bukan --collection ). |
--type | Menentukan jenis file yang diekspor. Dalam hal ini kita tentukan json untuk mengekspornya ke file JSON. json adalah nilai default, jadi jika kita tidak menentukan parameter ini, file akan dikeluarkan sebagai file JSON. |
--fields | Menentukan bidang yang ingin kita ekspor. Kami memiliki opsi untuk mengekspor semua bidang dalam koleksi, atau hanya beberapa. Pisahkan beberapa nama bidang dengan koma. Saat mengekspor ke JSON, menentukan nama bidang adalah opsional (tidak seperti CSV). |
--out | Menentukan nama file yang diekspor dan lokasinya. Jika Anda tidak menentukan nama file, mongoexport menulis data ke output standar (stdout ). |
Periksa File yang Diekspor
Mari kita verifikasi bahwa operasi ekspor bekerja seperti yang diharapkan.
Pertama, mari kita periksa koleksi aslinya.
use PetHotel
db.pets.find() Hasil:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
{ "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 }
{ "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 } Jadi kita bisa melihat ada 7 pet, semuanya dengan field yang sama yang kita tentukan dalam operasi ekspor kita.
Sekarang mari kita buka file yang diekspor pets.json untuk melihat apa yang ada di dalamnya:
{"_id":1.0,"name":"Wag","type":"Dog","weight":20.0}
{"_id":2.0,"name":"Bark","type":"Dog","weight":10.0}
{"_id":3.0,"name":"Meow","type":"Cat","weight":7.0}
{"_id":4.0,"name":"Scratch","type":"Cat","weight":8.0}
{"_id":5.0,"name":"Bruce","type":"Bat","weight":3.0}
{"_id":6.0,"name":"Fetch","type":"Dog","weight":17.0}
{"_id":7.0,"name":"Jake","type":"Dog","weight":30.0} Semua data ada dalam file yang diekspor seperti yang diharapkan.
Lebih Sedikit Kolom
Anda dapat menggunakan --fields parameter untuk menentukan bidang mana yang ingin Anda ekspor.
Saat Anda melakukan ini pada file JSON, _id bidang selalu diekspor (meskipun Anda tidak memasukkannya ke dalam daftar bidang yang akan diekspor).
Contoh:
mongoexport --db=PetHotel --collection=pets --fields=name,type --out=data/pets.json Dalam hal ini saya menentukan dua bidang untuk diekspor.
Ketika saya membuka file yang diekspor, saya dapat melihat bahwa kedua bidang tersebut diekspor, plus _id bidang:
{"_id":1.0,"name":"Wag","type":"Dog"}
{"_id":2.0,"name":"Bark","type":"Dog"}
{"_id":3.0,"name":"Meow","type":"Cat"}
{"_id":4.0,"name":"Scratch","type":"Cat"}
{"_id":5.0,"name":"Bruce","type":"Bat"}
{"_id":6.0,"name":"Fetch","type":"Dog"}
{"_id":7.0,"name":"Jake","type":"Dog"} Kontrol Akses/Otentikasi
Jika Anda tidak menggunakan localhost, Anda dapat menggunakan --host parameter untuk menentukan host, dan --port untuk menentukan port. Anda juga dapat menggunakan --username parameter untuk menentukan nama pengguna dan --password ke untuk kata sandi. Jika Anda menghilangkan parameter kata sandi, Anda akan diminta untuk memasukkannya. Ada juga --authenticationDatabase parameter untuk menentukan database otentikasi tempat pengguna telah dibuat.
Contoh:
mongoexport --host=myhost.example.com --port=37017 --username=homer --authenticationDatabase=admin --db=PetHotel --collection=pets --out=data/pets.json Periksa mongoexport
mongoexport 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/mongoexport terinstal, coba jalankan perintah berikut di Terminal atau Command Prompt Anda untuk memeriksa:
mongoexport --version Jika Anda memilikinya, Anda akan melihat informasi versi, dll. Jika Anda tidak memilikinya, Anda dapat menggunakan petunjuk penginstalan di situs web MongoDB untuk menginstalnya ke sistem Anda.
Di mana Menjalankan Perintah?
Jangan lupa, Anda harus menjalankan mongoexport perintah dari baris perintah sistem Anda (mis. Terminal baru atau jendela Prompt Perintah).
Jangan jalankan dari mongo kerang.