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

Mongoose Filter baseret på dynamisk datonøgle med værdi

Hvis du vil finde efter egenskab i indlejret dokument, skal du bruge punktnotation

dette vil ikke virke, fordi du beder mongoo om at finde dokumentet, som har tilstedeværelsesobjekt lig med det samme givne objekt.

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

dette vil kun virke, hvis attendances-objektet i din database kun indeholder

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

det betyder, at du spørger mongoo, om det lagrede objekt er lig med det givne objekt, og det vil returnere falsk

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

for at gøre dette skal du bruge punktnotation

 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)
    }
  })


  1. Forskellen mellem cursor.count() og cursor.size() i MongoDB

  2. Kan redis deaktivere svarene for pipelinede kommandoer?

  3. Indsæt en værdi på en bestemt position i et array i MongoDB

  4. MongoDB $min