När du är intresserad av hela objektet är det ett enkelt find
:
.find({"facebook.id":"<id>", "images.id":<image-id>})
Jag tror inte att det finns något sätt att minska bilduppsättningen i resultatet.
För att uppdatera ett enstaka element i bildmatrisen kan du använda detta:
.update({"facebook.id":"<id>", "images.id":<image-id>}, {$set : {"images.$.main" :false} } );