collection1.aggregate([ { "$match": { "_id": f"{_id}" } }, { "$graphLookup": { "from": "DocumentBases", "startWith": "$_id", 'connectFromField': "_id", "connectToField": "parent_id", "maxDepth": 0, "depthField": "id", "as": "Children" } }, { "$unwind": "$Children" }, { "$sort": { "Children.id": 1 } }, { "$group": { "_id": "$_id", "Children": {"$push": "$Children._id"} } } ])