W zapytaniu, które działa, $elemMatch
obiekt nie jest kolejnym warunkiem zapytania, ale parametrem wyboru pola wyjściowego (tj. rzutowania) do find
.
Aby zrobić to samo w Mongoose, zrób coś takiego:
PatientsModel.find({patientId: '123'}, {diet: {$elemMatch: {'status': 'A'}}}, cb)
LUB
PatientsModel
.where('patientId', '123')
.select({diet: {$elemMatch: {'status': 'A'}})
.exec(cb);