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

Bagaimana cara mendapatkan output mongo Shell (tiga titik) untuk perintah yang tidak diakhiri

Kode Anda tidak menyertakan apa pun yang menulis ke stdin proses anak Anda, jadi saya akan terkejut jika Anda mendapatkan elipsis yang menunjukkan perintah tidak lengkap padahal sebenarnya Anda tidak mengirim perintah sama sekali - tidak lengkap atau sebaliknya.

Yang telah dikatakan, banyak utilitas baris perintah berperilaku berbeda ketika mereka menemukan terminal nyata yang terhubung ke stdin/stdout mereka. Misalnya. git log akan menampilkan hasil ketika Anda menjalankannya secara langsung tetapi tidak ketika Anda menyalurkan hasilnya ke beberapa perintah lain seperti git log | cat jadi ini mungkin juga terjadi di sini.

Ini juga berkaitan dengan buffering - jika aliran Anda memiliki buffer baris, Anda tidak akan melihat baris apa pun yang tidak langsung diakhiri dengan baris baru.

Pertanyaan sebenarnya adalah:apakah Anda melihat > mengingatkan? Apakah Anda mengirim perintah apa pun ke cangkang mongo?

Membuat skrip alat CLI interaktif bisa jadi rumit. Misalnya. lihat apa yang harus saya lakukan untuk menguji program interaktif yang sangat sederhana di sini:

Saya harus membuat dua pipa bernama, pastikan stdin, stderr dan stdout tidak buffer, dan kemudian gunakan beberapa trik lain untuk membuatnya bekerja. Ini adalah skrip shell tetapi hanya untuk menunjukkan kepada Anda sebuah contoh.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara melakukan upser dengan MongoDB 2.0?

  2. MongoDB pilih semua nilai bidang mana dalam daftar kueri

  3. findAndModify atau findOneAndUpdate - bukan fungsi

  4. Corong linier dari kumpulan acara dengan agregasi MongoDB, apakah mungkin?

  5. Gunakan variabel dengan regex untuk menemukan data di mongodb (aplikasi Meteor)