mongodb - consultas - Consultar elementos de matriz con Mongo
consultas en mongodb (3)
¿Cómo puedo consultar los batidos que tienen manzana? (abajo hay una colección con 3 documentos)
_id => 1
name => ''best smoothie''
ingredients => Array
(
[0] => apple
[1] => raspberry
[2] => orange
[3] => banana
)
_id => 2
name => ''summer smoothie''
ingredients => Array
(
[0] => lemon
[1] => mint
)
_id => 3
name => ''yogurt smoothie''
ingredients => Array
(
[0] => apple
[1] => blueberry
)
¿Por qué la gente escribe aplicaciones escalables para batidos?
db.find ({"ingredientes": {$ en: "manzana"}});
De la documentation :
Nota: los campos que contienen matrices coinciden con los operadores condicionales, si solo coincide un elemento .
Por lo tanto, la siguiente consulta:
db.collection.find( { field: { $gt:0, $lt:2 } } );
Coincidirá con un documento que contenga el siguiente campo:
{ field: [-1,3] }
Si simplemente ejecuta la siguiente consulta, MongoDB es lo suficientemente inteligente como para averiguar qué está intentando hacer.
{ ingredients: "apple" }
Mongo verá que los ingredientes son una lista y solo devolverá documentos que contengan "manzana" en algún lugar de esa lista.