Database
[{"_id":ObjectId("5f0339e28fbb15b9f8a17181"),"CustomerID":"12345","codes":[{"datetime":ISODate("2020-06-13"),"source":"SourceX","code":"ABC"},{"datetime":ISODate("2020-08-18"),"source":"SourceB","code":"ABC"},{"datetime":ISODate("2020-02-16"),"source":"SourceX","code":"WQA"},{"datetime":ISODate("2020-03-16"),"source":"SourceY","code":"WQA"}]},{"_id":ObjectId("5f0339e28fbb15b9f8a17182"),"CustomerID":"54321","codes":[{"datetime":ISODate("2020-06-13"),"source":"SourceA","code":"ABC"},{"datetime":ISODate("2020-08-18"),"source":"SourceB","code":"ABC"},{"datetime":ISODate("2020-02-16"),"source":"SourceA","code":"WQA"},{"datetime":ISODate("2020-03-16"),"source":"SourceY","code":"WQA"}]}]
Query
db.collection.aggregate([{$match:{"codes.source":"SourceX"}},{$unwind:"$codes"},{$match:{"codes.source":"SourceX"}},{$project:{_id:0,CustomerID:1,code:"$codes.code"}}])