Във вашата заявка, която работи, $elemMatch
обектът не е друго условие на заявка, а е параметърът за избор на изходно поле (т.е. проекция) за find
.
За да направите същото в Mongoose, трябва да направите нещо като:
PatientsModel.find({patientId: '123'}, {diet: {$elemMatch: {'status': 'A'}}}, cb)
ИЛИ
PatientsModel
.where('patientId', '123')
.select({diet: {$elemMatch: {'status': 'A'}})
.exec(cb);