sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB - Cómo hacer consultas sobre múltiples atributos dentro de un objeto y agrupar los resultados

Para la primera parte, debería poder recuperar ese registro haciendo:

db.collectionName.find({"attributes.id": 1, "attributes.value": 150});

Eso recuperará solo el campo _id de cualquier objeto que tenga un elemento de la matriz de atributos que tenga id =1 y valor =150.

Dado que la segunda parte de su pregunta implica devolver un recuento de coincidencias, debe explorar sus opciones con map -reducir . No puede producir ese resultado con una simple consulta de Mongo.