Apakah ada cara untuk membuang koleksi mongo ke dalam format json? Baik di shell atau menggunakan driver java. Saya mencari driver dengan performa terbaik.
Apakah ada cara untuk membuang koleksi mongo ke dalam format json? Baik di shell atau menggunakan driver java. Saya mencari driver dengan performa terbaik.
Jawaban:
Mongo menyertakan utilitas mongoexport (lihat dokumen) yang dapat membuang koleksi. Utilitas ini menggunakan libmongoclient asli dan kemungkinan merupakan metode tercepat.
mongoexport -d <database> -c <collection_name>
Juga membantu:
-o
: tulis output ke file, jika tidak, output standar digunakan ( docs )
--jsonArray
: menghasilkan dokumen json yang valid, alih-alih satu objek json per baris ( docs )
--pretty
: output berformat json ( dokumen )
--pretty
bendera:mongoexport -d mydatabase -c mycollection --pretty
mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
--pretty
sudah hilang pada versi 2.6.10.
Gunakan mongoexport / mongoimport untuk membuang / memulihkan koleksi:
Ekspor File JSON :
mongoexport --db <database-name> --collection <collection-name> --out output.json
Impor File JSON :
mongoimport --db <database-name> --collection <collection-name> --file input.json
PERINGATAN
mongoimport
danmongoexport
jangan andal mempertahankan semua tipe data BSON yang kaya karena JSON hanya dapat mewakili subset dari tipe yang didukung oleh BSON. Akibatnya, data yang diekspor atau diimpor dengan alat ini mungkin kehilangan beberapa ukuran kesetiaan.
Juga, http://bsonspec.org/
BSON dirancang agar cepat untuk disandikan dan didekode. Misalnya, bilangan bulat disimpan sebagai bilangan bulat 32 (atau 64) bit, sehingga tidak perlu diurai ke dan dari teks. Ini menggunakan lebih banyak ruang daripada JSON untuk bilangan bulat kecil, tetapi jauh lebih cepat untuk diurai.
Selain kekompakan, BSON menambahkan tipe data tambahan yang tidak tersedia di JSON, terutama tipe data BinData dan Tanggal.
mongoexport
/ mongoimport
round trip?
Inilah perintah saya untuk referensi:
mongoexport --db AppDB --collection files --pretty --out output.json
Pada Windows 7 (MongoDB 3.4), seseorang harus memindahkan cmd ke tempat mongod.exe
dan mongo.exe
file berada =>
C:\MongoDB\Server\3.4\bin
jika tidak itu tidak akan bekerja mengatakan itu tidak mengenali mongoexport
perintah.
Dari dokumentasi Mongo:
Utilitas mongoexport mengambil koleksi dan mengekspor ke JSON atau CSV. Anda dapat menentukan filter untuk kueri, atau daftar bidang yang akan dihasilkan
Baca lebih lanjut di sini: http://www.mongodb.org/display/DOCS/mongoexport
Jika Anda ingin membuang semua koleksi, jalankan perintah ini:
mongodump -d {DB_NAME} -o /tmp
Ini akan menghasilkan semua data koleksi json
dan bson
ekstensi ke dalam /tmp/{DB_NAME}
direktori
mongodump
mengeluarkan data dalam BSON
format. Jawaban lain dengan tepat disebut mongoexport
sebagai alat yang tepat.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
Anda dapat menentukanhost
,port
,username
,password
seperti ini dan database otentikasi default adalahadmin
.