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

Filtre Mongoose basé sur la clé de date dynamique avec valeur

Si vous souhaitez rechercher par propriété dans un document intégré, vous devez utiliser la notation par points

cela ne fonctionnera pas, car vous demandez à mongoo de trouver le document dont l'objet de présence est égal au même objet donné.

{ "attendances": {"2019-08-26": "Present"}}

cela ne fonctionnera que si l'objet présences dans votre base de données ne contient que

{ "attendances": {"2019-08-26": "Present"}}

cela signifie que vous demandez à mongoo si l'objet stocké est égal à l'objet donné et il renverra faux

 { "attendances": {"2019-08-26": "Present" , "2019-08-27": "Sick"}} ==  { "attendances": {"2019-08-26": "Present"}}

pour ce faire, vous devez utiliser la notation par points

 Employee.collection.countDocuments({"attendances.2019-08-26":"Present"},(err,data)=>{
    if(err){
      res.status(500)
      res.send(err)
    }else{
      res.status(200)
      res.json(data)
    }
  })