Database

[{title:"My book",authors:[{id:1,date:"2023-12-20"},{id:2,date:"2023-12-21"}],authorsDetails:[{id:2,name:"Author 2",age:25},{id:1,name:"Author 1",age:38}]}]

Query

db.collection.aggregate([{"$set":{"authors":{"$sortArray":{"input":"$authors","sortBy":{"id":1}}},"authorsDetails":{"$sortArray":{"input":"$authorsDetails","sortBy":{"id":1}}}}},{"$set":{"authors":{"$zip":{"inputs":["$authors","$authorsDetails"]}}}},{"$set":{"authors":{"$map":{"input":"$authors","as":"a","in":{"$mergeObjects":[{$first:"$$a"},{$last:"$$a"}]}}}}},{$unset:"authorsDetails"},{"$merge":{"into":"collection","on":"_id","whenMatched":"replace"}}])

Result