W pierwszej części powinieneś być w stanie odzyskać ten rekord, wykonując:
db.collectionName.find({"attributes.id": 1, "attributes.value": 150});
Spowoduje to pobranie tylko pola _id z dowolnego obiektu, który ma element tablicy atrybutów, który ma id =1 i wartość =150.
Ponieważ druga część pytania obejmuje zwrócenie liczby dopasowań, powinieneś zbadać swoje opcje za pomocą map -redukuj . Nie możesz uzyskać tego wyniku za pomocą prostego zapytania Mongo.