Förutsatt att din modell heter Employee
:
Employee.find({ "departments.0": { "$exists": true } },function(err,docs) {
})
Som $exists
frågar efter 0
index för en array vilket betyder att den har något i sig.
Detsamma gäller för ett maxantal:
Employee.find({ "departments.9": { "$exists": true } },function(err,docs) {
})
Så det måste ha minst 10 poster i arrayen för att matcha.
Egentligen bör du registrera längden på arrayen och uppdatera med $inc
varje gång något läggs till. Sedan kan du göra:
Employee.find({ "departmentsLength": { "$gt": 0 } },function(err,docs) {
})
På fastigheten "departmentsLength" lagrar du. Den egenskapen kan indexeras, vilket gör den mycket effektivare.