MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Requête pour les documents où la taille du tableau est supérieure à 1

Il existe un moyen plus efficace de le faire dans MongoDB 2.2+ maintenant que vous pouvez utiliser des index de tableau numériques (basés sur 0) dans les clés d'objet de requête.

// Find all docs that have at least two name array elements.
db.accommodations.find({'name.1': {$exists: true}})

Vous pouvez prendre en charge cette requête avec un index qui utilise une expression de filtre partielle (nécessite 3.2+) :

// index for at least two name array elements
db.accommodations.createIndex(
    {'name.1': 1},
    {partialFilterExpression: {'name.1': {$exists: true}}}
);