Ervan uitgaande dat uw model Employee
wordt genoemd :
Employee.find({ "departments.0": { "$exists": true } },function(err,docs) {
})
Als $exists
vraagt om de 0
index van een array, wat betekent dat er iets in zit.
Hetzelfde geldt voor een maximum aantal:
Employee.find({ "departments.9": { "$exists": true } },function(err,docs) {
})
Dus dat moet minstens 10 items in de array hebben om overeen te komen.
Eigenlijk moet je de lengte van de array noteren en bijwerken met $inc
elke keer wordt er iets toegevoegd. Dan kun je het volgende doen:
Employee.find({ "departmentsLength": { "$gt": 0 } },function(err,docs) {
})
Op het terrein "departmentsLength" sla je op. Die eigenschap kan worden geïndexeerd, wat het veel efficiënter maakt.