Per la prima parte, dovresti essere in grado di recuperare quel record facendo:
db.collectionName.find({"attributes.id": 1, "attributes.value": 150});
Ciò recupererà solo il campo _id da qualsiasi oggetto che ha un elemento dell'array di attributi che ha id =1 e valore =150.
Poiché la seconda parte della tua domanda prevede la restituzione di un conteggio delle corrispondenze, dovresti esplorare le tue opzioni con map -ridurre . Non puoi produrre quel risultato con una semplice query Mongo.