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

menggunakan module.exports dengan cara yang tidak biasa

Banyak hal yang salah dengan ini. Konsep ini tidak akan berhasil.

Sebagai permulaan, while(true) your Anda loop memblokir loop acara jadi db tidak pernah bisa mendapatkan nilai sehingga loop Anda tidak pernah selesai.

Ketika operasi jaringan di koneksi selesai, itu akan menambahkan acara ke antrian acara dan panggilan balik yang terkait dengannya (dan kemudian janji yang diselesaikan) hanya dapat berjalan ketika Anda mengembalikan kontrol kembali ke loop acara sehingga acara dapat diproses.

Tapi, while(true) your Anda loop memblokir loop acara sehingga tidak ada acara yang dapat diproses. Kecuali Anda menggunakan await di dalam loop (yang memungkinkan event lain berjalan), Anda tidak bisa menggunakan loop tunggu seperti ini di node.js. Itu hanya membuat loop tak terbatas.

Sampai kita memiliki await tingkat atas yang bekerja dengan inisialisasi modul (yang sedang dikerjakan), Anda tidak dapat langsung mengekspor nilai yang diperoleh secara asinkron.

Sebagai gantinya, Anda dapat mengekspor janji dan penelepon harus menggunakan janji untuk mendapatkan db. Atau ekspor fungsi yang mengembalikan janji.

Info lebih lanjut tentang masalah dengan loop sibuk-tunggu sementara dalam jawaban lain ini:

Tunggu hingga flag=true

javascript - Apa yang salah dengan loop while ini? lingkaran tanpa akhir

Mengapa a while loop memblokir loop acara?




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Skema luwak:Memvalidasi bidang unik, tidak peka huruf besar-kecil

  2. Node.js mendeteksi ketika dua penemuan luwak selesai

  3. Mongodb $lookup dengan dokumen bersarang

  4. berbeda dengan banyak bidang dan dengan kondisi di mana di mongodb

  5. Terhubung ke MongoDB Atlas Cluster db dengan aplikasi asli-reaksi