Quando você está interessado no objeto completo, é um simples
find
:.find({"facebook.id":"<id>", "images.id":<image-id>})
Eu não acho que exista uma maneira de reduzir a matriz de imagens no resultado.
Para atualizar um único elemento na matriz de imagens, você pode usar isto:
.update({"facebook.id":"<id>", "images.id":<image-id>}, {$set : {"images.$.main" :false} } );