MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

правилен начин за връщане на json формат с помощта на node или express

Ако използвате експрес, не изпращайте съобщението от контролера . Създайте междинен софтуер, чиято основна цел е да изпрати отговора на клиента. Това ще ви даде възможност да зададете формата на consist отговор на клиента.

Например направих мидълуера за отговор така:-

module.exports = function(req, res, next) {
  const message = {};
  message.body = req.responseObject;
  message.success = true;
  message.status = req.responseStatus || 200;
  res.status(message.status).send(message);
  return next();
};

Горният код ще генерира формат като този.

{
  "success": true,
  "status": 200,
  "body": {
    "name": "rahul"
  }
}

Можете да използвате повдигач на заявки свойство на експрес. Можете да добавите responseObject и responseStatus от предишен междинен софтуер.

По същия начин могат да бъдат направени грешки в отделен междинен софтуер.

Можете да се обадите по това във вашите маршрути:-

const responseSender = require('./../middleware/responseSender');
 /* your rest middleware. and put responseSender middleware to the last.*/
router.get('/',/* Your middlewares */, responseSender);

Можете да го извикате чрез:-

exports.groups_Get_All = (req, res, next) => {
    Group.find()
        .exec()
        .then(docs => {
            const response =
                docs.map(doc => {
                    return {
                        gname: doc.gname,
                        employee: doc.employeeId,
                        _id: doc._id,
                        createdAt: doc.createdAt
                    };
                })

            req.responseObject = response; // This will suffice
            return next()
        })
        .catch(next);
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Зареждане на първоначални данни при стартиране на приложението с Spring Data MongoDB

  2. В документацията на обещанията на Mongoose се казва, че заявките не са обещания?

  3. MongoDB $lookup Objectid получава празен масив?

  4. Вмъкване на масив в обект в MongoDB

  5. Как да изчислим разликата между стойностите на различни документи с помощта на агрегиране на mongo?