As discussed in person this is necessary for cases like
E.g.
Document: {a: 1, b: [3, 4, 5]}
// We'll re-apply the match expression {a: 1, b: 3} to the post-image of the document, which won't have an 'a' field.
Query: db.c.find({a: 1, b: 3}, {b.$: 1})