Di MongoDB, Anda dapat mengekspor data menggunakan mongoexport utilitas.
Anda dapat menggunakan mongoexport utilitas untuk mengekspor data dari database MongoDB Anda, ke file JSON atau CSV.
Utilitas ini terletak di bin MongoDB direktori (misalnya, /mongodb/bin ). Saat Anda menjalankan utilitas, berikan nama database, koleksi, dan file tujuan ekspor.
Untuk mengekspor data, pertama buka jendela Terminal/Command Prompt baru, lalu ketik perintah yang berlaku.
Ekspor Koleksi ke File JSON
Di sini, kami menggunakan mongoexport untuk mengekspor artis koleksi ke file JSON:
mongoexport --db music --collection artists --out /data/dump/music/artists.json
Pesan yang dihasilkan:
2016-07-12T09:57:37.613+0700 connected to: localhost 2016-07-12T09:57:37.614+0700 exported 13 records
File yang dihasilkan:
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"} {"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":"Jorn Lande"} {"_id":1.0,"artistname":"AC/DC"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014d"},"artistname":"The Kooks"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014e"},"artistname":"Bastille"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014f"},"artistname":"Gang of Four"} {"_id":{"$oid":"5781f85d48ef8c6b3ffb0150"},"artistname":"Deep Purple","albums":[{"album":"Machine Head","year":1972.0,"genre":"Rock"},{"album":"Stormbringer","year":1974.0,"genre":"Rock"}]} {"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]} {"_id":{"$oid":"578217c248ef8c6b3ffb015a"},"artistname":"Robben Ford","albums":[{"album":"Bringing it Back Home","year":2013.0,"genre":"Blues"},{"album":"Talk to Your Daughter","year":1988.0,"genre":"Blues"}]} {"_id":{"$oid":"578217c248ef8c6b3ffb015b"},"artistname":"Snoop Dogg","albums":[{"album":"Tha Doggfather","year":1996.0,"genre":"Rap"},{"album":"Reincarnated","year":2013.0,"genre":"Reggae"}]} {"_id":2.0,"artistname":"Prince","address":{"street":"Audubon Road","city":"Chanhassen","state":"Minnesota","country":"United States"}} {"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]} {"_id":4.0,"artistname":"Rush"}
Jika ternyata Anda tidak dapat menjalankan mongoexport , pastikan Anda telah keluar dari mongo utilitas, atau membuka jendela Terminal/Command Prompt baru sebelum menjalankan mongoexport , karena merupakan utilitas terpisah.
Perintah di atas mengasumsikan bahwa direktori bin MongoDB ada di PATH Anda. Jika tidak, Anda harus menggunakan path lengkap ke
mongoexport
mengajukan. Misalnya, /mongodb/bin/mongoexport
atau di mana pun penerapan MongoDB Anda diinstal.
Jika Anda tidak menyediakan jalur file untuk file yang diekspor, itu akan dibuat di mana pun Anda berada saat Anda menjalankan perintah. Berikan jalur lengkap, atau navigasikan ke tempat Anda ingin file data ditulis sebelum Anda menjalankan perintah.
Ekspor Koleksi ke File CSV
Untuk mengekspor ke file CSV, tambahkan --type=csv
untuk perintah.
Anda juga harus menentukan bidang dalam dokumen MongoDB yang akan diekspor.
Di sini, kami menggunakan mongoexport untuk mengekspor artis koleksi ke file CSV. Kami mengekspor _id dan nama artis bidang. Kami juga memberi nama file .csv ekstensi.
mongoexport --db music --collection artists --type=csv --fields _id,artistname --out /data/dump/music/artists.csv
Pesan yang dihasilkan:
2016-07-12T10:16:33.111+0700 connected to: localhost 2016-07-12T10:16:33.114+0700 exported 13 records
File CSV yang dihasilkan:
_id,artistname ObjectId(5780fbf948ef8c6b3ffb0149),The Tea Party ObjectId(5781c9ac48ef8c6b3ffb014a),Jorn Lande 1,AC/DC ObjectId(5781d7f248ef8c6b3ffb014d),The Kooks ObjectId(5781d7f248ef8c6b3ffb014e),Bastille ObjectId(5781d7f248ef8c6b3ffb014f),Gang of Four ObjectId(5781f85d48ef8c6b3ffb0150),Deep Purple ObjectId(578214f048ef8c6b3ffb0159),Miles Davis ObjectId(578217c248ef8c6b3ffb015a),Robben Ford ObjectId(578217c248ef8c6b3ffb015b),Snoop Dogg 2,Prince 3,Moby 4,Rush
Ekspor hasil Kueri
Anda dapat menggunakan --query
opsi untuk menentukan kueri yang akan diekspor. Kueri harus diapit oleh tanda kutip tunggal.
Di sini, kami mengekspor detail tentang Miles Davis ke file JSON:
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --out /data/dump/music/miles_davis.json
Pesan yang dihasilkan:
2016-07-12T10:32:19.794+0700 connected to: localhost 2016-07-12T10:32:19.795+0700 exported 1 record
File JSON yang dihasilkan:
{"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]}
Opsi Lain
ekspor mongo utilitas menyediakan sejumlah opsi. Berikut adalah beberapa yang berpotensi berguna.
--limit
Opsi
Membatasi jumlah dokumen dalam ekspor.
mongoexport --db music --collection artists --limit 3 --out /data/dump/music/3_artists.json
File yang dihasilkan:
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"} {"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":"Jorn Lande"} {"_id":1.0,"artistname":"AC/DC"}
The --sort
Opsi
Menentukan bagaimana hasil diurutkan.
Di sini, kami mengurutkan file berdasarkan
_id
bidang dalam urutan menaik (yaitu 1
). Untuk membuatnya turun, gunakan -1
.
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --out /data/dump/music/3_artists_sorted.json
File yang dihasilkan:
{"_id":1.0,"artistname":"AC/DC"} {"_id":2.0,"artistname":"Prince","address":{"street":"Audubon Road","city":"Chanhassen","state":"Minnesota","country":"United States"}} {"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]}
--skip
Opsi
Memungkinkan Anda menginstruksikan mongoexport untuk melewati sejumlah dokumen sebelum memulai operasi ekspor.
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --skip 2 --out /data/dump/music/3_artists_sorted_skipped.json
File yang dihasilkan:
{"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]} {"_id":4.0,"artistname":"Rush"} {"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"}
Yang --pretty
Opsi
Mengeluarkan dokumen dalam format JSON yang lebih mudah dibaca.
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --pretty --out /data/dump/music/miles_davis_pretty.json
File yang dihasilkan:
{ "_id": { "$oid": "578214f048ef8c6b3ffb0159" }, "artistname": "Miles Davis", "albums": [ { "album": "Kind of Blue", "year": 1959.0, "genre": "Jazz" }, { "album": "Bitches Brew", "year": 1970.0, "genre": "Jazz" } ] }