sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man kontrollerar om MongoDB-anslutningen är aktiv i Node.js

Du kan använda händelse för att hantera det som återuppringning.
Och kanske ha din globala variabel som identifierar att den inte är ansluten.

Du kan ha separata db.js fil, som kommer att fungera som modul. Och du kan ha funktion för att få insamling från den.

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

Så för att använda det:

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

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

Tyvärr, märkte precis att du använder Mongoose, som kan skilja sig något.




  1. Hur skickar man en hämtad bild från Mongo med GridFS i Spring Rest Call?

  2. MongoDB $indexOfArray

  3. $lookup returnerar tom array

  4. loopback inkluderar fjärrmetod i fråga