sql >> Databáze >  >> NoSQL >> MongoDB

Jak zkontrolovat, zda je připojení MongoDB živé v Node.js

Událost můžete použít ke zpracování jako zpětného volání.
A možná máte svou globální proměnnou, která bude identifikovat, že není připojena.

Můžete mít samostatný db.js soubor, který se bude chovat jako modul. A můžete mít funkci pro získání sbírky z něj.

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

Takže použít:

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

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

Litujeme, právě jsem si všiml, že používáte Mongoose, což se může mírně lišit.




  1. Lze motor MongoDB WiredTiger použít pro předem agregované sestavy? (podobně jako MMAPv1)

  2. Pokud použijeme MongoDB jako naši hlavní databázi, mám k implementaci vztahů mezi entitami použít samostatnou grafovou databázi?

  3. Jak mohu ukládat obrázky do mongodb pomocí node.js?

  4. Neplatný příkaz přerušení (Node.js)