Apakah ada cara untuk membuang koleksi mongo ke dalam format json? Baik di shell atau menggunakan driver java. Saya mencari driver dengan performa terbaik.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase adminAnda dapat menentukan host, port, username, passwordseperti ini dan database otentikasi default adalah admin.
Max Peng
Jawaban:
177
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 )
Gunakan tanda -d untuk menentukan database yang akan digunakan.
Reimund
8
Jika Anda ingin JSON tercetak cantik (misalnya untuk memeriksa koleksi selama pengembangan) gunakan --prettybendera:mongoexport -d mydatabase -c mycollection --pretty
Max Truxa
6
Jika Mongo berada di host yang berbeda, berikut adalah contoh dari dokumen Mongo mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
What Would Be Cool
Sepertinya --prettysudah hilang pada versi 2.6.10.
es
115
Gunakan mongoexport / mongoimport untuk membuang / memulihkan koleksi:
PERINGATAN
mongoimportdan mongoexportjangan 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.
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.
Apakah ada contoh dari apa yang “Data BSON kaya” tidak akan bertahan mongoexport/ mongoimportround trip?
andrewdotn
1
Ini menambahkan dukungan untuk tipe data seperti Tanggal dan biner yang tidak didukung di JSON. Juga, lebih cepat untuk encoding dan decoding bsonspec.org
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.
Apakah ada yang tahu tentang formatter yang akan memformat json normal ke format konyol "baris tunggal tanpa koma" yang diharapkan MongoDB saat mengimpor?
conor909
3
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
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
.Jawaban:
Mongo menyertakan utilitas mongoexport (lihat dokumen) yang dapat membuang koleksi. Utilitas ini menggunakan libmongoclient asli dan kemungkinan merupakan metode tercepat.
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 )sumber
--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
Juga, http://bsonspec.org/
sumber
mongoexport
/mongoimport
round trip?Inilah perintah saya untuk referensi:
Pada Windows 7 (MongoDB 3.4), seseorang harus memindahkan cmd ke tempat
mongod.exe
danmongo.exe
file berada =>C:\MongoDB\Server\3.4\bin
jika tidak itu tidak akan bekerja mengatakan itu tidak mengenalimongoexport
perintah.sumber
Dari dokumentasi Mongo:
Baca lebih lanjut di sini: http://www.mongodb.org/display/DOCS/mongoexport
sumber
Jika Anda ingin membuang semua koleksi, jalankan perintah ini:
Ini akan menghasilkan semua data koleksi
json
danbson
ekstensi ke dalam/tmp/{DB_NAME}
direktorisumber
mongodump
mengeluarkan data dalamBSON
format. Jawaban lain dengan tepat disebutmongoexport
sebagai alat yang tepat.