Search code examples
mongodbmongodb-querymongodb-shell

how to match both fields are not exist


  1. I was trying to use $and to express both fields are empty
  2. Here is the code
    db.tweets_v2.aggregate({
      {match:{$and:[{replyto_id:$exist:false},{replyto_id:$exist:false}]}
    });

Solution

  • There are few fixes,

    • $exist should be $exists
    • missed {} brackets before and after in $exists
    • match should be $match
    • aggregation stages start from [] not {}
    db.tweets_v2.aggregate([
      {
        $match: {
          $and: [
            { replyto_id: { $exists: false } },
            { replyfrom_id: { $exists: false } } // change your second field name
          ]
        }
      }
    ])
    

    Playground