MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

elemMatch combinado com outros campos de consulta no Mongoose


Na sua consulta que funciona, o $elemMatch object não é outra condição de consulta, mas é o parâmetro de seleção do campo de saída (ou seja, projeção) para find .

Para fazer o mesmo no Mongoose, você faria algo como:
PatientsModel.find({patientId: '123'}, {diet: {$elemMatch: {'status': 'A'}}}, cb)

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