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

Apakah boleh menginisialisasi ekspor secara asinkron dalam modul node.js?

Anda tidak dapat menulis ke exports setelah Anda meninggalkan file. Anda harus memblokir. Untuk menghindari pemblokiran, saya akan menggunakan pemuatan sumber daya yang malas.

var carCol;
var carEmitter = new require("events").EventEmitter;


exports.getCars = function(callback) {
  // if no car collection then bind to event
  if (carCol === undefined) {
    carEmitter.on("cars-ready", function() {
      callback(carCol);
    });
  } else {
    // we have cars, send them back
    callback(carCol);
  }
}

db.collection("cars", function(err, col) {
  // store cars
  carCol = col;
  // tell waiters that we have cars.
  carEmitter.emit("cars-ready");
});

Gunakan pemancar acara untuk meniru pemuatan lambat. Anda mungkin ingin menggeneralisasi ke LazyLoadedCollection class/object untuk membuat kode lebih rapi/kering.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pilih dokumen di mana semua nilai dalam bidang array ada di array lain

  2. Konversi BSON ke JSON menggunakan MongoDB Driver Java API

  3. Bagaimana cara membuat kueri case-insensitive di Mongodb?

  4. Kerangka Agregasi Mongodb | Kelompokkan beberapa nilai?

  5. Membaca dan Menampilkan gambar dari mongoDB menggunakan GridFs