MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Query per documenti in cui la dimensione dell'array è maggiore di 1

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}}}
);