MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да проверите дали MongoDB връзката е жива в Node.js

Можете да използвате събитие, за да го обработвате като обратно извикване.
И може би имате вашата глобална променлива, която ще идентифицира, че не е свързан.

Можете да имате отделен db.js файл, който ще се държи като модул. И можете да имате функция за събиране от него.

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

И така, за да го използвате:

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

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

Съжаляваме, току-що забелязах, че използвате Mongoose, което може да е малко по-различно.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Предварителна защита с регистриране на одит за MongoDB

  2. множество копия на Mongo DB на един и същ сървър

  3. Актуализиране на множество поддокументи чрез Mongoose?

  4. Редовен израз за MongoDB ObjectID

  5. Не може да се промени dbpath в mongodb чрез mongodb.conf