MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Có thể khởi tạo xuất không đồng bộ trong mô-đun node.js không?

Bạn không thể ghi vào exports sau khi bạn rời khỏi tệp. Bạn phải chặn. Để tránh bị chặn, tôi sẽ sử dụng tải tài nguyên một cách lười biếng.

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");
});

Sử dụng bộ phát sự kiện để mô phỏng tải chậm. Bạn có thể muốn tổng quát hóa thành LazyLoadedCollection lớp / đối tượng để làm cho mã gọn gàng hơn / KHÔ hơn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Quản lý AWS:Cách tiết kiệm 30% chi phí lưu trữ MongoDB của bạn

  2. thất bại với Nhịp tim đã nhận từ thành viên có cùng ID thành viên với chính chúng tôi:0

  3. Làm cách nào để truy xuất đối tượng cuối cùng của mảng trong tài liệu nhúng trong Mongoose?

  4. Có thể nhận được kết quả duy nhất trong tổng hợp không?

  5. Giám sát MongoDB chủ động (Góc của Developer Studio / Advisors)