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

Cách sử dụng lại kết nối mongo với các lời hứa

Không, điều đó là không thể khi bạn không biết liệu cơ sở dữ liệu đã được kết nối hay chưa. Nếu bạn có thể cần kết nối lúc đầu và kết nối không đồng bộ, thì this.db phải mang lại một lời hứa và bạn sẽ cần sử dụng then .

Lưu ý rằng với Bluebird, bạn có thể rút ngắn đoạn mã đó một chút và tránh sử dụng .then() dài dòng đó gọi lại bằng cách sử dụng .call() phương pháp :

Job.prototype.getDb = function() {
  if (!this.db)
    this.db = Mongo.connectAsync(this.options.connection);
  return this.db;
};
Job.prototype.test = function() {
  return this.getDb().call('collection', 'abc').call('findAsync');
};



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để giảm bớt các giai đoạn thư giãn trong quy trình tổng hợp cho các tài liệu lồng nhau?

  2. Tìm một số giá trị trong bộ sưu tập mongodb?

  3. Vấn đề về mối quan hệ hasMany trong thư viện Laravel 5.3 + MongoDB 'jenssegers / laravel-mongodb'

  4. Truy vấn Mongoexport -q ISODate

  5. Đồng bộ hóa cơ sở dữ liệu mongo trên các máy chủ khác nhau