MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Recherche synchrone multiple de Mongoose pour réutiliser l'ID d'objet

Vous pouvez envelopper chaque findOne fonction dans la promesse et utilisez await de Babel. Dans ce cas, votre code peut ressembler à ceci :

let office = await new Promise((resolve, reject) => {
    Office.findOne({ geolocation: origin._id}, function(err, office){
        if (err) reject(err)
        resolve(office)
});

let company = await new Promise((resolve, reject) => {
    Company.findOne({ _id: office.company }, function(err, company){
        if (err) reject(err)
        resolve(company)
});
... and so on

Ou peut-être souhaitez-vous en savoir plus sur la population dans MongoDB :http://mongoosejs.com/docs/populate .html