MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

elemMatch combinato con altri campi di query in Mongoose

Nella tua query che funziona, il $elemMatch l'oggetto non è un'altra condizione della query, ma è il parametro di selezione del campo di output (cioè la proiezione) da find .

Per fare lo stesso in Mongoose, faresti qualcosa del tipo:

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

O

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