MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

elemMatch kombiniert mit anderen Abfragefeldern in Mongoose

In Ihrer Abfrage funktioniert das $elemMatch Objekt ist keine weitere Abfragebedingung, sondern der Ausgabefeld-Auswahlparameter (d. h. Projektionsparameter) zum find .

Um dasselbe in Mongoose zu tun, würden Sie Folgendes tun:

PatientsModel.find({patientId: '123'}, {diet: {$elemMatch: {'status': 'A'}}}, cb)

ODER

PatientsModel
    .where('patientId', '123')
    .select({diet: {$elemMatch: {'status': 'A'}})
    .exec(cb);