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

Bagaimana cara memeriksa apakah koneksi MongoDB masih hidup di Node.js

Anda dapat menggunakan event untuk menanganinya sebagai callback.
Dan mungkin memiliki variabel global Anda yang akan mengidentifikasi bahwa itu tidak terhubung.

Anda dapat memiliki db.js yang terpisah file, yang akan berperilaku sebagai modul. Dan Anda dapat memiliki fungsi untuk mendapatkan koleksi darinya.

var mongodb = require('mongodb');
var client;
var collections = { };

new mongodb.Db( ... ).open((function (err, c) {
  if (!err) {
    client = c;
    client.on('close', function() {
      client = null; // clear client
      collections = { }; // clear old collections
      // connection closed
    });
  } else {
    // error connecting
  }
});

// get collection
exports.get = function(name, callback) {
  if (client) {
    if (!collections[name]) {
      collections[name] = new mongodb.Collection(client, name);
    }
    callback(null, collections[name]);
  } else {
    // can perform reconnecting and then get collection and call callback
    callback(new Error('not connected'));
  }
}

Jadi untuk menggunakannya:

var db = require('./db.js');

db.get('users', function(err, collection) {
  if (!err) {
    collection.find({ ...
  } else {
    console.log(err);
  }
});

Maaf, baru menyadari bahwa Anda menggunakan Mongoose, yang mungkin sedikit berbeda.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meteor `Deps.autorun` vs `Collection.observe`

  2. Mongodb - Mengatur replikasi di tingkat db atau koleksi

  3. Mengapa set replika mongodb membutuhkan jumlah node voting yang ganjil?

  4. Serialisasi ke objek menggunakan driver scala mongo?

  5. cara menghitung hitungan dan hitungan unik pada dua bidang dalam fungsi pengurangan mongo