I have mongo document like this
{
    "_id": "5b14679e592baa493e0bc208",
    "productCode": "ABC",
    "corridors": [
        {
            "countryNameEn": "Sweden",
            "countryNameFr": "Suède",
            "countryCode": "SE",
            "currencyNameEn": "Swedish Krona",
            "currencyNameFr": "Couronne suédoise",
            "currencyCode": "SEK",
            "corridorLimit": "abc"
        },
        {
            "countryNameEn": "USA",
            "countryNameFr": "Suède",
            "countryCode": "US",
            "currencyNameEn": "USA",
            "currencyNameFr": "Couronne suédoise",
            "currencyCode": "USD",
            "corridorLimit": "abc"
        }
    ]
},
{
    "_id": "5b14679e592baa493e0bc208",
    "productCode": "XYZ",
    "corridors": [
        {
            "countryNameEn": "Sweden",
            "countryNameFr": "Suède",
            "countryCode": "SE",
            "currencyNameEn": "Swedish Krona",
            "currencyNameFr": "Couronne suédoise",
            "currencyCode": "SEK",
            "corridorLimit": "abc"
        },
        {
            "countryNameEn": "USA",
            "countryNameFr": "Suède",
            "countryCode": "US",
            "currencyNameEn": "USA",
            "currencyNameFr": "Couronne suédoise",
            "currencyCode": "USD",
            "corridorLimit": "abc"
        }
    ]
}
I want to find document whose productCode is ABC and currencyCode is USD in corridors array. How can I return only the matching object from corridors array like only only object that has USD currencyCode should come in result and not all array.
I tried running this query { productCode: 'ABC', corridors: { $elemMatch: { currencyCode: "USD"}}}. But it gives me the whole array and not the only matched element.
 
    