MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak sprawdzić, czy połączenie MongoDB jest aktywne w Node.js?

Możesz użyć zdarzenia, aby obsłużyć to jako wywołanie zwrotne.
I może mieć swoją zmienną globalną, która zidentyfikuje, że nie jest połączony.

Możesz mieć oddzielny db.js plik, który będzie zachowywał się jak moduł. I możesz mieć funkcję pobierania z niego kolekcji.

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

Aby tego użyć:

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

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

Przepraszamy, właśnie zauważyłem, że używasz Mongoose, które mogą się nieznacznie różnić.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Budowanie sterownika mongo-cxx za pomocą CMake ExternalProject_Add

  2. PyMongo i Multiprocessing:ServerSelectionTimeoutError

  3. Aktualizacja odniesienia wraz z innymi wartościami Mongoose

  4. ReactiveMongo FindAndModify Wyjaśnienie

  5. Jaka jest różnica między zapisywaniem a wstawianiem w Mongo DB?