Database
[{_id:ObjectId("5a934e000102030405000000"),date:ISODate("2022-06-03T00:00:00.000Z"),events:[{"eventName":"Add","actorId":"1","detail":"new actor"},{"eventName":"Vote","actorId":"2","detail":"up"},{"eventName":"Vote","actorId":"3","detail":"down"},{"eventName":"Vote","actorId":"4","detail":"cork"}]}]
Query
db.collection.update({},[{$addFields:{data:[{"eventName":"Add","actorId":"3","detail":"action"},{"eventName":"Vote","actorId":"2","detail":"up"},{"eventName":"Vote","actorId":"5","detail":"up"}],keys:{$map:{input:"$events",as:"item",in:{$concat:["$$item.eventName","$$item.actorId"]}}}}},{$set:{data:{$filter:{input:"$data",as:"item",cond:{$not:{$in:[{$concat:["$$item.eventName","$$item.actorId"]},"$keys"]}}}}}},{$set:{events:{$concatArrays:["$events","$data"]},data:"$$REMOVE",keys:"$$REMOVE"}}])