I am trying to do filter in mongoDB, but I am not getting the expected output. I am using $elemMatch but still not getting expected out.
Agency Collection
[
  {
    "_id": "5d402d36035f3063657240ac",
    "name": "test agency",
    "msisdn": "99961110278",
    "apps": [
      {
        "pincodes": [
          "135001",
          "122018"
        ],
        "_id": "5d402d36035f3063657240ae",
        "name": "DSB"
      },
      {
        "pincodes": [
          "135001",
          "122017"
        ],
        "_id": "5d402d36035f3063657240ad",
        "name": "DBH"
      }
    ],
    "__v": 0
  }
]
query on shell
db.Agency.find({'apps':{$elemMatch:{name: {$regex: 'DSB', $options: 'i'} ,pincodes: { $in : ['135001','134002']}}}})
getting output
[
{
  "_id" : "5d401d4aba592260507479d2",
  "name" : "test agency",
  "msisdn" : "99961110278",
  "apps" : [
    {
      "pincodes" : [
        "135001",
        "122017"
      ],
      "_id" : "5d401d4aba592260507479d3",
      "name" : "DSB"
    }
  ],
  "__v" : 0
}
,
{
  "_id" : "5d402249035f3063657240a9",
  "name" : "test agency",
  "msisdn" : "99961110278",
  "apps" : [
    {
      "pincodes" : [
        "135001",
        "122017"
      ],
      "_id" : "5d402249035f3063657240ab",
      "name" : "DSB"
    },
    {
      "pincodes" : [
        "135001",
        "122017"
      ],
      "_id" : "5d402249035f3063657240aa",
      "name" : "DBH"
    }
  ],
  "__v" : 0
}
,
{
  "_id" : "5d402d36035f3063657240ac",
  "name" : "test agency",
  "msisdn" : "99961110278",
  "apps" : [
    {
      "pincodes" : [
        "135001",
        "122018"
      ],
      "_id" : "5d402d36035f3063657240ae",
      "name" : "DSB"
    },
    {
      "pincodes" : [
        "135001",
        "122017"
      ],
      "_id" : "5d402d36035f3063657240ad",
      "name" : "DBH"
    }
  ],
  "__v" : 0
}]
expected output
[
{
  "_id" : "5d401d4aba592260507479d2",
  "name" : "test agency",
  "msisdn" : "99961110278",
  "apps" : [
    {
      "pincodes" : [
        "135001",
        "122017"
      ],
      "_id" : "5d401d4aba592260507479d3",
      "name" : "DSB"
    }
  ],
  "__v" : 0
}
,
{
  "_id" : "5d402249035f3063657240a9",
  "name" : "test agency",
  "msisdn" : "99961110278",
  "apps" : [
    {
      "pincodes" : [
        "135001",
        "122017"
      ],
      "_id" : "5d402249035f3063657240ab",
      "name" : "DSB"
    }
  ],
  "__v" : 0
}
,
{
  "_id" : "5d402d36035f3063657240ac",
  "name" : "test agency",
  "msisdn" : "99961110278",
  "apps" : [
    {
      "pincodes" : [
        "135001",
        "122018"
      ],
      "_id" : "5d402d36035f3063657240ae",
      "name" : "DSB"
    }
  ],
  "__v" : 0
}]
 
     
     
    