GridFS-Can we use aggregation query from GridFS specification

No you cannot use aggregation on the content of the files stored using GridFS.

May be you can split oversized document into smaller related documents using something like the Extended Reference Pattern.

Something like jq may help you split an oversized JSON into a set of smaller related documents.

Using your sample documents, you could split a document like

into 2 smaller documents like

core_collection :
[
    {    "_id" : 369 ,
         "name": "John",
         "age": 25 }
]

address_collection :
[
    {   "core_id" : 369 ,
        "address" : [
            {    “street”: “123 Main St”,
                 “city”: “Anytown”,
                 “state”: “CA” } ,
            {    “street”: “456 Oak Ave”,
                 “city”: “Someville”,
                 “state”: “NY” }
        ]
    }
}

If it is still too big you may make each entry of address into a top level document, looks a lot like $unwind.

In some cases, plain old normalization, is still a valid solution.

While it is best to keep together the things that are accessed together, sometimes you have no choice.