MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

elemMatch combiné avec d'autres champs de requête dans Mongoose

Dans votre requête qui fonctionne, le $elemMatch objet n'est pas une autre condition de requête, mais est le paramètre de sélection de champ de sortie (c'est-à-dire la projection) à find .

Pour faire la même chose dans Mongoose, vous feriez quelque chose comme :

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

OU

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