2017-06-14 2 views
1

Ma requête est comme indiqué ci-dessous:Comment avoir sélective des champs pour la requête de la population profonde mangouste

orderSubInfo.find({ 
    'order_id': { 
     $in: orderArray 
    } 
}).populate({ 
    path: 'order_id', 
    populate: { 
     path: 'foodtruck_id', 
     model: 'foodtruck' 
    } 
}).exec().then((info) => { 
    res.json({ 
     status: '200', 
     message: 'Your OTP', 
     data: info 
    }) 
}).catch((err) => { 
    res.json({ 
     status: '500', 
     message: 'Oops,something went wromg' 
    }) 
}); 

Maintenant, ce qui se passe ici est après populate {path:foodtruck_id,model:'foodtruck}. Je reçois des champs inutiles. Mais je veux avoir foodtruck_name,foodtruck_location seulement. Alors, comment devrais-je modifier ma requête?

Répondre

1

Sélectionnez uniquement les champs que vous souhaitez inclure (mongoose population):

populate: { 
    path: 'foodtruck_id', 
    model: 'foodtruck', 
    select: 'foodtruck_name foodtruck_location' //to exclude _id add -_id 
}