En supposant que votre modèle s'appelle Employee
:
Employee.find({ "departments.0": { "$exists": true } },function(err,docs) {
})
Comme $exists
demande le 0
index d'un tableau, ce qui signifie qu'il contient quelque chose.
Il en va de même pour un nombre maximum :
Employee.find({ "departments.9": { "$exists": true } },function(err,docs) {
})
Cela doit donc avoir au moins 10 entrées dans le tableau pour correspondre.
Vraiment, vous devriez enregistrer la longueur du tableau et mettre à jour avec $inc
chaque fois que quelque chose est ajouté. Ensuite, vous pouvez faire :
Employee.find({ "departmentsLength": { "$gt": 0 } },function(err,docs) {
})
Sur la propriété "departmentsLength" que vous stockez. Cette propriété peut être indexée, ce qui la rend beaucoup plus efficace.