Database

[{server:"strong",events:[{eventType:"log",createdAt:"2022-01-23T10:26:11.214Z",visitorInfo:{visitorId:"JohnID"}},{eventType:"log",createdAt:"2022-01-30T10:26:11.214Z",visitorInfo:{visitorId:"JohnID"}},{eventType:"system",createdAt:"2022-01-29T10:26:11.214Z",visitorInfo:{visitorId:"JennyID"}},{eventType:"system",createdAt:"2022-01-31T10:16:11.214Z",visitorInfo:{visitorId:"JennyID"}}]}]

Query

db.collection.aggregate([{$match:{server:"strong"}},{$project:{total:{$reduce:{input:"$events",initialValue:{visitor:[],uniquevisitor:[]},in:{visitor:{$concatArrays:["$$value.visitor",["$$this.visitorInfo.visitorId"]]},uniquevisitor:{$cond:[{$in:["$$this.visitorInfo.visitorId","$$value.uniquevisitor"]},"$$value.uniquevisitor",{$concatArrays:["$$value.uniquevisitor",["$$this.visitorInfo.visitorId"]]}]}}}}}}])

Result