Database

[{"mainLocation":{"locateId":111111.0,"LocateName":"Indonesia","subLocation":[{"locateId":2222222222.0,"LocateName":"Jakarta Pusat","childLocation":[{"locateId":2222222222.0,"LocateName":"Jakarta Pusat"},{"locateId":3333333333.0,"LocateName":"Jakarta Barat"}]},{"locateId":1234123412.0,"LocateName":"Bandung","childLocation":[]}]}}]

Query

db.collection.aggregate([{$set:{"mainLocation.subLocation":{$map:{input:"$mainLocation.subLocation",as:"subLocation",in:{$mergeObjects:["$$subLocation",{childLocation:{$filter:{input:"$$subLocation.childLocation",cond:{$ne:["$$this.locateId","$$subLocation.locateId"]}}}}]}}}}}])

Result