sql >> Database >  >> NoSQL >> MongoDB

Node.js detecteert wanneer twee mangoesten zijn gevonden

Mongoose heeft ingebouwde ondersteuning voor beloften die een schone manier bieden om te wachten op de voltooiing van meerdere asynchrone querybewerkingen met 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. MongoDB op Azure:hoe kies je het juiste instantietype?

  2. Hoe de HSET-kindersleutel in redis VERLOPEN?

  3. mongoose .js-model zonder te exporteren, waarvoor in de helmknop nog steeds gewerkt wordt volgens schema

  4. Hoe kan ik een Mongoose-subdocument bijwerken in een instantiemethode?