MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

NodeJS + limit czasu Mongoose przy połączeniu

Poradziłem sobie z tym problemem, dodając jeden dodatkowy krok na każdym routerze, na którym używam DB.

Jest trochę niechlujny, ale działa i w 100% nie ma wycieków.

Coś takiego:

// 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 Jeśli znasz rozwiązanie lepiej, daj mi znać.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mangusta Znajdź z wieloma warunkami

  2. Wydaje się, że wyniki MapReduce są ograniczone do 100?

  3. MongoDB $log10

  4. MongoDB - dziwne zachowanie zstępującego indeksu

  5. Emoji nie zostały poprawnie zapisane w mongodb