Database

[{_id:"objectIdr",name:"product_a",array:[{_id:"objectIdA",start:"2022-01-01 00:00:00.000Z",end:"2022-01-30 00:00:00.000Z",status:"active",person:"A"/**reference objectId*/},{_id:"objectIdB",start:"2022-03-01 00:00:00.000Z",end:null,status:"active",person:"A"},{_id:"objectIdB",start:"2022-03-01 00:00:00.000Z",end:null,status:"active",person:"A"},{_id:"objectIdC",start:"2022-03-01 00:00:00.000Z",end:null,status:"active",person:"B"},{_id:"objectIdD",start:"2022-02-01 00:00:00.000Z",end:null,status:"active",person:"B"}]},{_id:"objectIdk",name:"product_b",array:[{_id:"objectIdA",start:"2021-12-30 00:00:00.000Z",end:"2022-01-30 00:00:00.000Z",status:"active",person:"C"},{_id:"objectIdB",start:"2022-03-01 00:00:00.000Z",end:null,status:"active",person:"C"},{_id:"objectIdC",start:"2022-03-01 00:00:00.000Z",end:null,status:"active",person:"C"},{_id:"objectIdD",start:"2022-03-20 00:00:00.000Z",end:null,status:"active",person:"D"}]}]

Query

db.collection.aggregate([{$unwind:"$array"},{"$match":{$and:[{"array.status":{"$exists":true,"$eq":"active"}},{"array.end":{"$exists":true,"$eq":null}}]}},{$group:{_id:{product_id:"$_id",product_name:"$name",targetIds:"$array.person"},count:{$sum:1}}},{$match:{count:{$gt:1}}},{$sort:{_id:1}},{$group:{_id:"$_id.product_id",name:{$first:"$_id.product_name"},targetIds:{$push:"$_id.targetIds"}}}])

Result