sql >> Base de Datos >  >> NoSQL >> MongoDB

Rellenar según la condición en mangosta, mongoDB

El populate() El método tiene una opción que permite el filtrado, puede probar esto

Floorplan
.find({ 
    project: req.params.project, 
    tower: req.params.tower, 
    isDeleted: false 
})
.populate({
    path: 'flats',
    match: { isDeleted: false }
})
.exec(function(err, floorplan) {
    if (err) { return res.send(err); }
    if (!floorplan) { return res.status(401).json(); }
    res.status(200).json(floorplan);
});

o

Floorplan
.find({ 
    project: req.params.project, 
    tower: req.params.tower, 
    isDeleted: false 
})
.populate('flats', null, { isDeleted: false })
.exec(function(err, floorplan) {
    if (err) { return res.send(err); }
    if (!floorplan) { return res.status(401).json(); }
    res.status(200).json(floorplan);
});