Cuando está interesado en el objeto completo, es un simple find
:
.find({"facebook.id":"<id>", "images.id":<image-id>})
No creo que haya una forma de reducir la matriz de imágenes en el resultado.
Para actualizar un solo elemento en la matriz de imágenes, puede usar esto:
.update({"facebook.id":"<id>", "images.id":<image-id>}, {$set : {"images.$.main" :false} } );