Introduction du chapitre
Dans ce chapitre, nous allons introduire les opérateurs de correspondance de champs de tableau dans les documents JSON de MongoDB.
Opérateurs de requête de tableau pris en charge par MongoDB
Opérateur | Description |
---|---|
$all | Correspond à la valeur de tableau entière dans la condition de requête |
$elemMatch | Pour les champs de tableau, si une valeur correspond à toutes les conditions définies par $elemMatch, la condition est remplie |
$size | Correspond à la taille du tableau |
$all
{ tags: { $all: [ "ssl" , "security" ] } }
Équivalent à
{ $and: [ { tags: "ssl" }, { tags: "security" } ] }
Le champ tags
est une valeur de tableau, et le tableau tags
contient simultanément les valeurs ssl
et security
.
$elemMatch
Données de test
Les données de la collection scores
sont comme suit:
{ _id: 1, results: [ 82, 85, 88 ] }
{ _id: 2, results: [ 75, 88, 89 ] }
Exemple:
db.scores.find(
{ results: { $elemMatch: { $gte: 80, $lt: 85 } } }
)
Données renvoyées:
{ "_id" : 1, "results" : [ 82, 85, 88 ] }
Explication:
- Si une valeur dans le tableau
results
est supérieure ou égale à 80 et inférieure à 85, le document est considéré comme correspondant avec succès.
$size
Correspond à la taille du tableau
db.collection.find( { field: { $size: 2 } } );
Explication:
- Le champ
field
est une valeur de tableau, et si la taille du tableau est égale à 2, le document est considéré comme correspondant avec succès.