Możesz uwzględnić oba terminy id w jednym zapytaniu, a projekcja pojedynczego elementu nadal będzie działać:
Person.findOne({_id: personId, 'things.id': 2}, {'things.$': 1},
function(err, person) { ...
Możesz uwzględnić oba terminy id w jednym zapytaniu, a projekcja pojedynczego elementu nadal będzie działać:
Person.findOne({_id: personId, 'things.id': 2}, {'things.$': 1},
function(err, person) { ...