sql >> Database teknologi >  >> NoSQL >> MongoDB

NodeJS + Mongoose timeout ved forbindelse

Jeg håndterede dette problem ved at tilføje et ekstra trin i hver router, hvor jeg bruger DB.

Det er lidt rodet, men det virker og 100 % ingen lækager.

Noget som dette:

// file: 'routes/api/v0/users.js'
router
var User = require('../../../models/user').User,
    rest = require('../../../controllers/api/v0/rest')(User),
    checkDB = require('../../../middleware/checkDB');

module.exports = function (app) {
  app.get('/api/v0/users', checkDB, rest.get);
  app.get('/api/v0/users/:id', checkDB, rest.getById);
  app.post('/api/v0/users', checkDB, rest.post);
  app.delete('/api/v0/users', checkDB, rest.deleteById);
  app.put('/api/v0/users', checkDB, rest.putById);
};

// file: 'middleware/checkDB.js'
var HttpError = require('../error').HttpError,
    mongoose = require('../lib/mongoose');

// method which checks is DB ready for work or not
module.exports = function(req, res, next) {
  if (mongoose.connection.readyState !== 1) {
    return next(new HttpError(500, "DataBase disconnected"));
  }
  next();
};

PS Hvis du kender løsningen bedre, så lad mig det vide.



  1. Sådan eksporteres MongoDB-forespørgselsresultater til en CSV-fil

  2. MongoDB :Fjern de sidste to tegn fra streng

  3. Indstilling af dynamisk sti i redis.conf ved hjælp af miljøvariablen

  4. opdater specifikt element fra indlejret dokumentarray mongodb hvor har to matches