Database
[{"_id":"1","source":"City A","destination":"City B","distance":40},{"_id":"2","source":"City A","destination":"City B","distance":40},{"_id":"3","source":"City A","destination":"City B","distance":40},{"_id":"4","source":"City A","destination":"City B","distance":39},]
Query
db.collection.aggregate([{$group:{_id:{source:"$source",destination:"$destination"},original:{$push:"$$ROOT"},avdistance:{$avg:"$distance"},stdDev:{$stdDevSamp:"$distance"}}},{$unwind:"$original"},{$addFields:{flag:{$or:[{$eq:[1,{$cmp:[{$abs:{$subtract:["$original.distance","$avdistance"]}},"$stdDev"]}]},{$eq:[1,{$cmp:["$stdDev",5]}]}]},}},{$match:{flag:true}}])