C'è un modo più efficiente per farlo in MongoDB 2.2+ ora che puoi usare gli indici di array numerici (basati su 0) nelle chiavi degli oggetti query.
// Find all docs that have at least two name array elements.
db.accommodations.find({'name.1': {$exists: true}})
Puoi supportare questa query con un indice che utilizza un'espressione di filtro parziale (richiede 3.2+):
// index for at least two name array elements
db.accommodations.createIndex(
{'name.1': 1},
{partialFilterExpression: {'name.1': {$exists: true}}}
);