unwind query objects array mongodb

mongodb - query - mongoose find in array of objects



Encuentra Subdocumento en Array con mongodb (1)

Tienes que usar la notación de puntos :

bios.find({"_id" : 1, "awards.year" : 1975 });

Es una consulta bastante inútil, porque también tienes el _id en la consulta, pero supongo que se debe al hecho de que estás jugando con un ejemplo. Además, estás diciendo que estás buscando premios desde 1967, pero el código dice 1975.

Si busca "awards" : { "year" : 1975 } , mongodb buscará una coincidencia exacta de todos los awards subdocumentos. En este caso, eso no es lo que quieres. Además, dado que los awards son una matriz, esto siempre será falso. Si desea buscar un documento de premio específico en una lista, $elemMatch sería el camino a seguir.

Estoy jugando con The Bios Example Collection de http://docs.mongodb.org/manual/reference/bios-example-collection para informarme sobre cómo consultar mongodb.

Quiero recuperar información sobre los premios ganados por _id: 1 en el año: 1975 .

Intenté varias consultas, entre esas

bios.find({ "_id" : 1, "awards" : { "year" : 1975 } });

pero nunca recibo el documento adecuado de vuelta. ¿Cómo puedo recuperar este documento en la matriz?