MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

NodeJS + Mongoose hết thời gian chờ khi kết nối

Tôi đã xử lý sự cố này bằng cách thêm một bước bổ sung trong mỗi bộ định tuyến mà tôi sử dụng DB.

Nó hơi lộn xộn một chút nhưng nó hoạt động và 100% không bị rò rỉ.

Một cái gì đó như thế này:

// 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();
};

Tái bút Nếu bạn biết giải pháp tốt hơn, vui lòng cho tôi biết.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo sắp xếp theo trường động

  2. ORM có thừa với API NoSQL không?

  3. Số lượng MongoDB () so với Tổng hợp

  4. Xác thực duy nhất Mongoose không hoạt động. Các mục trùng lặp được lưu

  5. Lệnh LIKE trong MongoDB (mongomapper)