Currently, using the $elemMatch projection as a part of the field selection causes all other fields in the collection not to be included in the query response.
For example, given the following document:
would yield the following result:
There should be a way to include all fields to be selected (perhaps by default).
In the MongoDB document titled "Retrieving a Subset of Fields", it mentions that "Filtering with $slice does not affect other fields inclusion/exclusion. It only applies within the array being sliced." It would be appropriate if this same logic is applied to the $elemMatch projection. Also, the documentation should be adjusted to reflect the field inclusion/exclusion behaviour.