Presumendo che il tuo modello si chiami Employee
:
Employee.find({ "departments.0": { "$exists": true } },function(err,docs) {
})
Come $exists
chiede il 0
indice di un array che significa che contiene qualcosa.
Lo stesso vale per un numero massimo:
Employee.find({ "departments.9": { "$exists": true } },function(err,docs) {
})
Quindi deve avere almeno 10 voci nell'array da abbinare.
Comunque dovresti registrare la lunghezza dell'array e aggiornarlo con $inc
ogni volta che viene aggiunto qualcosa. Allora puoi fare:
Employee.find({ "departmentsLength": { "$gt": 0 } },function(err,docs) {
})
Nella proprietà "departmentsLength" che memorizzi. Tale proprietà può essere indicizzata, il che la rende molto più efficiente.