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

Filtro Mangusto com base na chave de data dinâmica com valor


Se você quiser encontrar por propriedade no documento incorporado, você deve usar a notação de ponto

isso não funcionará, porque você está pedindo ao mongoo para encontrar o documento que possui o objeto de atendimentos igual ao mesmo objeto fornecido.
{ "attendances": {"2019-08-26": "Present"}}

isso funcionará apenas se o objeto de atendimentos em seu banco de dados contiver apenas
{ "attendances": {"2019-08-26": "Present"}}

isso significa que você está perguntando ao mongoo se o objeto armazenado é igual ao objeto fornecido e ele retornará false
 { "attendances": {"2019-08-26": "Present" , "2019-08-27": "Sick"}} ==  { "attendances": {"2019-08-26": "Present"}}

para fazer isso você tem que usar a notação de ponto
 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)
    }
  })