Introducción del capítulo
En este capítulo, presentaremos los operadores de coincidencia de campos de arreglo en los documentos JSON de MongoDB.
Operadores de consulta de arreglos compatibles con MongoDB
Operador | Descripción |
---|---|
$all | Coincide con el valor completo del arreglo en la condición de consulta |
$elemMatch | Para campos de arreglo, si algún valor coincide con todas las condiciones establecidas por $elemMatch, se cumple la condición |
$size | Coincide con el tamaño del arreglo |
$all
{ tags: { $all: [ "ssl" , "security" ] } }
Equivalent to
{ $and: [ { tags: "ssl" }, { tags: "security" } ] }
El campo tags
es un valor de arreglo, y el arreglo tags
contiene simultáneamente los valores ssl
y security
.
$elemMatch
Datos de prueba
Los datos de la colección scores
son los siguientes:
{ _id: 1, results: [ 82, 85, 88 ] }
{ _id: 2, results: [ 75, 88, 89 ] }
Ejemplo:
db.scores.find(
{ results: { $elemMatch: { $gte: 80, $lt: 85 } } }
)
Datos devueltos:
{ "_id" : 1, "results" : [ 82, 85, 88 ] }
Explicación:
- Si algún valor en el arreglo
results
es mayor o igual a 80 y menor que 85, el documento coincide exitosamente.
$size
Coincide con el tamaño del arreglo
db.collection.find( { field: { $size: 2 } } );
Explicación:
- El campo
field
es un valor de arreglo, si el tamaño del arreglo es igual a 2, el documento coincide exitosamente.