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

Časový limit NodeJS + Mongoose při připojení

Tento problém jsem vyřešil přidáním jednoho dalšího kroku do každého routeru, kde používám DB.

Je to trochu chaotické, ale funguje to a 100% žádné úniky.

Něco takového:

// 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 Pokud znáte lepší řešení, dejte mi prosím vědět.



  1. Přístup k redis lokálně na dockeru - docker compose

  2. Proč konektor Spark Mongo nestlačuje filtry?

  3. Sady replik MongoDB s arbitry

  4. Transakce Mongo DB 4.0 s Mongoose &NodeJs, Express