Database
db={"logs":[{"_id":{"$oid":"5a934e000102030405000000"},"stage_id":{"$oid":"5a934e000102030405000001"},"payload":[{"_data":{"name":"name1","description":"","parent":"","status":"NOT READY"}},{"_data":{"name":"name2","description":"MS Visio","parent":"A7704","status":"OPERATING"}},{"_data":{"assetnum":"name3","description":"MS Visio","parent":"7127","status":"OPERATING"}}],"response":[{"_data":{"Error":{"message":"AVJPA","attrname":"name","reasonCode":"AVJPA","status":"400"}},"_meta":{"status":"400"}},{"_data":{"Error":{"message":"AVJPA","attrname":"name","reasonCode":"AVJPA","status":"400"}},"_meta":{"status":"400"}},{"_data":{"message":"success"},"_meta":{"status":"204"}}]}]}
Query
db.logs.aggregate([{$match:{"stage_id":ObjectId("5a934e000102030405000001"),"response":{$elemMatch:{"_data.Error":{$exists:true}}}}},{$addFields:{tmp:"$payload"}},{$unwind:{path:"$tmp",includeArrayIndex:"idx",preserveNullAndEmptyArrays:false}},{$match:{$expr:{$eq:[{$let:{vars:{input:{$arrayElemAt:["$response","$idx"]}},in:"$$input._data.Error.reasonCode"}},"AVJPA"]}}},{$group:{_id:"$_id",stage_id:{$first:"$stage_id"},payload:{$push:{$arrayElemAt:["$payload","$idx"]}},response:{$push:{$arrayElemAt:["$response","$idx"]}},}}])