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

Node.js открива кога са завършени две mongoose find

Mongoose има вградена поддръжка за обещания, които предоставят чист начин за изчакване на завършването на множество операции за асинхронна заявка с Promise.all :

// Tell Mongoose to use the native Node.js promise library.
mongoose.Promise = global.Promise;

app.post('/init/autocomplete', function(req, res){
    var autocomplete = {
        companies: [],
        offices: []
    };

    // Call .exec() on each query without a callback to return its promise.
    Promise.all([Company.find({}).exec(), Office.find({}).exec()])
        .then(results => {
            // results is an array of the results of each promise, in order.
            autocomplete.companies = results[0].map(c => ({value: c.name}));
            autocomplete.offices = results[1].map(o => ({value: o.name}));
            res.json(autocomplete);
        })
        .catch(err => {
            throw err; // res.sendStatus(500) might be better here.
        });
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Използване на mongoDB в Express рутери

  2. Множество връзки на node-mongodb-native

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

  4. Добавяне на резултати към агрегирането на MongoDB с помощта на $switch

  5. mongodb:заявете първите няколко реда, където сумата на конкретна колона е по-голяма или равна на C