MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Apakah ada cara untuk 'cantik' mencetak output shell MongoDB ke file?

Shell menyediakan beberapa fitur yang bagus tetapi tersembunyi karena ini adalah lingkungan yang interaktif.

Saat Anda menjalankan perintah dari file javascript melalui perintah mongo.js, Anda tidak akan mendapatkan perilaku yang sama persis.

Ada dua cara untuk mengatasinya.

(1) memalsukan cangkang dan membuatnya berpikir Anda berada dalam mode interaktif

$ mongo dbname << EOF > output.json
db.collection.find().pretty()
EOF

atau
(2) gunakan Javascript untuk menerjemahkan hasil find() menjadi JSON yang dapat dicetak

mongo dbname command.js > output.json

di mana command.js berisi ini (atau yang setara):

printjson( db.collection.find().toArray() )

Ini akan cukup mencetak larik hasil, termasuk [ ] - jika Anda tidak menginginkannya, Anda dapat mengulangi array dan printjson() setiap elemen.

Omong-omong, jika Anda hanya menjalankan satu pernyataan Javascript, Anda tidak perlu memasukkannya ke dalam file dan sebagai gantinya Anda dapat menggunakan:

$ mongo --quiet dbname --eval 'printjson(db.collection.find().toArray())' > output.json


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mengambil nilai dari mongoDB, dengan nama kuncinya?

  2. Pesanan dokumen pengembalian Mongodb find

  3. Memulai garpu mongod, ERROR:proses anak gagal, keluar dengan kesalahan nomor 1

  4. Paging Cepat dengan MongoDB

  5. Perbarui koleksi MongoDB menggunakan $toLower