Når du er interesseret i det fulde objekt, er det et simpelt find
:
.find({"facebook.id":"<id>", "images.id":<image-id>})
Jeg tror ikke, der er en måde at reducere billedarrayet i resultatet på.
For at opdatere et enkelt element i billedarrayet kan du bruge dette:
.update({"facebook.id":"<id>", "images.id":<image-id>}, {$set : {"images.$.main" :false} } );