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 )
--prettybendera: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
--prettysudah 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
mongoimportdanmongoexportjangan 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/ mongoimportround 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.exedan mongo.exefile berada =>
C:\MongoDB\Server\3.4\binjika tidak itu tidak akan bekerja mengatakan itu tidak mengenali mongoexportperintah.
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 jsondan bsonekstensi ke dalam /tmp/{DB_NAME}direktori
mongodumpmengeluarkan data dalam BSONformat. Jawaban lain dengan tepat disebut mongoexportsebagai alat yang tepat.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase adminAnda dapat menentukanhost,port,username,passwordseperti ini dan database otentikasi default adalahadmin.