Database

[{"_id":ObjectId("6251f8556e75125f9260f333"),"name":"jojo","profile":"jojo profile","date":ISODate("2022-04-09T21:18:40.473Z"),"look":[{"art":"group-id","data":"alma","dt":"1"},{"art":"called","data":"central","dt":"1"},{"art":"access-time","data":108000,"dt":"1"}],"answer":[{"art":"rate-id","data":"limit1","dt":"1"},{"art":"protocol","data":"tcp","dt":"1"}]},{"_id":ObjectId("6251f8306e75125f9260f332"),"name":"dodo","profile":"dodo profile","date":ISODate("2022-04-09T15:20:58.562Z"),"look":[{"art":"group-id","data":"alma","dt":"1"},{"art":"called","data":"central","dt":"1"},],"answer":[{"art":"rate-id","data":"limit1","dt":"1"},]},{"_id":ObjectId("6251a5113700ba4a0a59c48f"),"name":"kaka","profile":"kaka profile","date":ISODate("2022-04-09T15:22:25.816Z"),"look":[{"art":"access-time","data":50400,"dt":"1"}],"answer":[{"art":"protocol","data":"tcp","dt":"1"}]}]

Query

db.collection.aggregate([{$replaceWith:{$mergeObjects:[{_id:"$_id",date:"$date",name:"$name",profile:"$profile",protocol:"",group:"",called:"",rate:"",accessTime:"",},{$arrayToObject:{$map:{input:"$look",in:{k:{$cond:[{"$eq":[{$first:{$split:["$$this.art","-"]}},"access"]},"accessTime",{$first:{$split:["$$this.art","-"]}}]},v:"$$this.data"}}}},{$arrayToObject:{$map:{input:"$answer",in:{k:{$cond:[{"$eq":[{$first:{$split:["$$this.art","-"]}},"access"]},"accessTime",{$first:{$split:["$$this.art","-"]}}]},v:"$$this.data"}}}}]}}])

Result