sql >> Database >  >> NoSQL >> MongoDB

NodeJS + Mongoose time-out bij verbinding

Ik heb dit probleem opgelost door een extra stap toe te voegen aan elke router waar ik DB gebruik.

Het is een beetje rommelig, maar het werkt en 100% lekt niet.

Zoiets als dit:

// 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 Als je de oplossing beter weet, laat het me dan weten.



  1. Wat is tcp-backlog in redis.conf

  2. Verificatie mislukt fout bij het specificeren van de database

  3. Hoe zou u klant> order> ordertem> product in NoSql-database modelleren?

  4. MongoDB telt aantal nieuwe documenten per minuut op basis van _id