För den första delen bör du kunna hämta den posten genom att göra:
db.collectionName.find({"attributes.id": 1, "attributes.value": 150});
Det kommer bara att hämta _id-fältet från alla objekt som har ett element i attributmatrisen som har id =1 och värde =150.
Eftersom den andra delen av din fråga handlar om att returnera ett antal matchningar, bör du utforska dina alternativ med karta -minska . Du kan inte producera det resultatet med en enkel Mongo-fråga.