{
        "_id" : ObjectId("5a4e43edb85ed11cd4dcba45"),
        "email" : "av@gmail.com",
        "username" : "alpesh",
        "subscriptions" : [ 
            {
                "sub_id" : "5a4df654b9799b79147f9361",
                "activation_date" : ISODate("2017-12-19T18:30:00.000Z"),
                "expiry_date" : ISODate("2018-01-19T18:30:00.000Z")
            }, 
            {
                "sub_id" : "5a4df654b9799b79147f9361",
                "activation_date" : ISODate("2018-01-19T18:30:00.000Z"),
                "expiry_date" : ISODate("2018-02-19T18:30:00.000Z")
            }, 
            {
                "sub_id" : "5a51a925ddc5003b68cc38b3",
                "activation_date" : ISODate("2018-02-19T18:30:00.000Z"),
                "expiry_date" : ISODate("2018-03-22T18:30:00.000Z")
            }
        ]
    }
i have tried this.. db.find({"subscriptions.sub_id" : "5a4df654b9799b79147f9361" }); it returns ..
{
    "_id" : ObjectId("5a4e43edb85ed11cd4dcba45"),
    "email" : "av@gmail.com",
    "username" : "alpesh",
    "subscriptions" : [ 
        {
            "sub_id" : "5a4df654b9799b79147f9361",
            "activation_date" : ISODate("2017-12-19T18:30:00.000Z"),
            "expiry_date" : ISODate("2018-01-19T18:30:00.000Z")
        }, 
        {
            "sub_id" : "5a4df654b9799b79147f9361",
            "activation_date" : ISODate("2018-01-19T18:30:00.000Z"),
            "expiry_date" : ISODate("2018-02-19T18:30:00.000Z")
        }, 
        {
            "sub_id" : "5a51a925ddc5003b68cc38b3",
            "activation_date" : ISODate("2018-02-19T18:30:00.000Z"),
            "expiry_date" : ISODate("2018-03-22T18:30:00.000Z")
        }
    ]
}
i have also tried $aggregate , $unwind , $filter , $projection and many ways but none of them returns as expected... i want all the matching subdocuments...like this....
   {
        "_id" : ObjectId("5a4e43edb85ed11cd4dcba45"),
        "email" : "av@gmail.com",
        "username" : "alpesh",
        "subscriptions" : [ 
            {
                "sub_id" : "5a4df654b9799b79147f9361",
                "activation_date" : ISODate("2017-12-19T18:30:00.000Z"),
                "expiry_date" : ISODate("2018-01-19T18:30:00.000Z")
            }, 
            {
                "sub_id" : "5a4df654b9799b79147f9361",
                "activation_date" : ISODate("2018-01-19T18:30:00.000Z"),
                "expiry_date" : ISODate("2018-02-19T18:30:00.000Z")
            }
        ]
    }
 
     
    