Database

[{"_id":1,"url":"a","status":"200"},{"_id":2,"url":"a","status":"400"},{"_id":3,"url":"b","status":"400"},{"_id":4,"url":"c","status":"400"},{"_id":5,"url":"c","status":"400"}]

Query

db.collection.aggregate([/** GROUP BY URL*/{$group:{_id:"$url",status:{$push:"$status"},root:{$push:"$$ROOT"},count:{$sum:1}}},/** MATCH ALL HAVE 400 STATUS*/{$match:{"status":{$not:{$elemMatch:{$ne:"400"}}}}},/** UNWIND ROOT*/{$unwind:"$root"},/** REPLACE ROOT WITH MATCH DATA*/{$replaceRoot:{newRoot:"$root"}},/** FOR REMOVING DUPLICATE URL GROUP*/{$group:{_id:"$url",roots:{$first:"$$ROOT"}}},/** AGAIN REPLACE ROOT*/{$replaceRoot:{newRoot:"$roots"}}])

Result