sql >> Database teknologi >  >> NoSQL >> MongoDB

Node.js registrerer, når to mongoose-fund er færdige

Mongoose har indbygget understøttelse af løfter, som giver en ren måde at vente på fuldførelsen af ​​flere async-forespørgselsoperationer 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. Sådan bruges Redis med Python

  2. Hvordan migrerer man data fra MongoDB til SQL-Server?

  3. Dropper en Mongo-databasesamling i Meteor

  4. MongoDB Scala - forespørgselsdokument for en specifik feltværdi