sql >> Database >  >> NoSQL >> MongoDB

Mongoose-filter op basis van dynamische datumsleutel met waarde

Als u op eigenschap in een ingesloten document wilt zoeken, moet u puntnotatie gebruiken

dit zal niet werken, omdat je Mongolo vraagt ​​om het document te vinden waarvan het presentieobject gelijk is aan hetzelfde gegeven object.

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

dit werkt alleen als het aanwezigheidsobject in uw database alleen

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

dat betekent dat je mongoo vraagt ​​of het opgeslagen object gelijk is aan het gegeven object en het zal false retourneren

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

hiervoor moet je puntnotatie gebruiken

 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. Meerdere limietcondities in mongodb

  2. Kan geen verbinding maken met MongoDB errno:61

  3. Mongoose findOneAndUpdate Meerdere velden bijwerken

  4. Hoe leesvoorkeur op te geven in Meteor's mongo-query's