Database

db={"colA":[{_id:1,name:"Sample 1"},{_id:2,name:"Sample 2"},{_id:3,"name":"Sample 3"},{_id:4,"name":"Sample 4"}],"colB":[{_id:11,items:[{_id:1,name:"sample1",size:1},{_id:3,name:"sample 3",size:5}]},{_id:12,items:[{_id:1,name:"sample1",size:2},{_id:3,name:"sample 3",size:6}]},{_id:13,items:[{_id:2,name:"sample2",size:5},{_id:1,name:"sample 1",size:8}],is_delete:true},{_id:14,items:[{_id:1,name:"sample1",size:3},{_id:3,name:"sample 3",size:1}]}]}

Query

db.colA.aggregate([{$lookup:{from:"colB",let:{bid:"$_id"},pipeline:[{$match:{$or:[{is_delete:false},{is_delete:{"$exists":false}}]}},{$unwind:"$items"},{$match:{$expr:{$eq:["$items._id","$$bid"]}}},],as:"data"}},{$project:{count:{$reduce:{input:"$data",initialValue:0,in:{$add:["$$value","$$this.items.size"]}}}}}])

Result