Database
[{_id:"53fc6dde-7a534-4b37-a57e-t0bd62f50046",name:"mock1",requests:[{status:200,method:"GET",endPoint:"status",response:{},body:{},params:{}}],_class:"com.example.mockserverspring.models.Mock"},{_id:"nnnnnnnnn",name:"tester",requests:[{_id:"802220ea-a1c7-484d-af1b-86e29b540179",status:200,method:"GET",endPoint:"api",response:{data:"GET"},body:{body:"body"},params:{params:"params"}},{_id:"ff8673d7-01a9-4d6f-a42e-0214a56b227b",status:200,method:"GET",endPoint:"data",response:{},body:{data:"data"},params:{value:"10"}},{_id:"7fd5a860-b415-43b0-8115-1c8e1b95c3ec",status:200,method:"GET",endPoint:"status",response:{a:"this response is returned"},body:{},params:{}}],_class:"com.example.mockserverspring.models.Mock"},{_id:"73fc6dde-7a5b-4b37-a57e-d0bd62f50046",name:"tester2",requests:[{_id:"802220ea-a1c7-484d-af1b-86e29b540179",status:200,method:"GET",endPoint:"api",response:{data:"GET"},body:{body:"body"},params:{params:"params"}},{_id:"ff8673d7-01a9-4d6f-a42e-0214a56b227b",status:200,method:"GET",endPoint:"data",response:{},body:{data:"data"},params:{value:"10"}},{_id:"7fd5a860-b415-43b0-8115-1c8e1b95c3ec",status:200,method:"GET",endPoint:"status",response:{b:" and this one"},body:{},params:{}},{_id:"aaaa",status:200,method:"GET",endPoint:"status",response:{c:" and this one"},body:{},params:{}}],_class:"com.example.mockserverspring.models.Mock"}]
Query
db.collection.aggregate([{"$unwind":"$requests"},{"$match":{"name":"tester","requests.method":"GET","requests.endPoint":"api","requests.body":{body:"body"},"requests.params":{params:"params"}}},{"$replaceRoot":{"newRoot":"$requests.response"}}])