Database
db={test:[{tester_id:"1",test_id:"1",score:40},{tester_id:"1",test_id:"2",score:50},{tester_id:"1",test_id:"3",score:70},{tester_id:"2",test_id:"1",score:50},{tester_id:"3",test_id:"2",score:20},{tester_id:"3",test_id:"3",score:60},{tester_id:"7",test_id:"5",score:40},{tester_id:"8",test_id:"4",score:50},{tester_id:"9",test_id:"4",score:70},]}
Query
db.test.aggregate([{$facet:{tests_per_tester:[{$match:{tester_id:"1"}},{$group:{_id:"$tester_id",tests:{$push:"$$ROOT"}}}],scores_by_test:[{$group:{_id:"$test_id",scores:{$push:"$score"}}}]}},{$unwind:{path:"$tests_per_tester"}},{$unwind:{path:"$tests_per_tester.tests"}},{$unwind:{path:"$scores_by_test"}},{$unwind:{path:"$scores_by_test.scores"}},{$match:{$expr:{$and:[{$eq:["$tests_per_tester.tests.test_id","$scores_by_test._id"]},{$gte:["$tests_per_tester.tests.score","$scores_by_test.scores"]}]}}}])