sql >> Databasteknik >  >> NoSQL >> MongoDB

Node.js upptäcker när två mangosfynd är klara

Mongoose har inbyggt stöd för löften som ger ett rent sätt att vänta på slutförandet av flera asynkrona frågeoperationer med 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. Mongoose-fel:Kan inte uppdatera __v och __v samtidigt

  2. MongoDB Correct Schema för aggregerad data

  3. Hur man skriver flera grupper efter id-fält i Mongodb java-drivrutin

  4. Hur säkerställer du att dina MongoDB-kluster kan överleva Amazon AWS-avbrott?