Arrays y subdocumentos
Consulta dentro de arrays y de documentos anidados.
Consulta dentro de arrays y de documentos anidados con la notación de punto y $elemMatch, como en MongoDB.
Requisitos
- Una conexión con un usuario que tenga
readsobre la base.
Un campo anidado
JavaScript
db.clientes.find({ "direccion.ciudad": "Valencia" });Un elemento de un array que cumple varias condiciones
JavaScript
db.pedidos.find({ lineas: { $elemMatch: { producto: "café", cantidad: { $gte: 2 } } } });Un array que contiene todos los valores
JavaScript
db.productos.find({ etiquetas: { $all: ["eco", "oferta"] } });Comprobar
Cada consulta devuelve solo los documentos cuyo array o subdocumento cumple la condición, enteros salvo que uses una proyección.
Problemas frecuentes
- Una condición sobre dos campos de un array sin
$elemMatchpuede cumplirse con elementos distintos del array.