sql >> Databáze >  >> NoSQL >> MongoDB

Node.js detekuje, když je hledání dvou mongoose dokončeno

Mongoose má vestavěnou podporu pro sliby, které poskytují čistý způsob, jak čekat na dokončení několika operací asynchronních dotazů pomocí 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 aktualizovat pole nebo přidat do pole

  2. Chyba MongoDB:Nelze použít opakovatelné zápisy s limitem=0

  3. MongoDB Auth Nepodařilo se najít uživatelské jméno na Bitnami MEAN Stack Image

  4. Laravel - Mongodb [ jenssegers/laravel-mongodb ] - Tvůrce schémat