Lets say we have following documents:
{
 reportName: 'ABC_REPORT'
 reports: [
 {
  "startDate" : ISODate("2017-07-02T00:00:00Z"),
  "endDate" : ISODate("2017-07-08T00:00:00Z"),
  "data" : [ { DATA_ID: '012345678004' }, { DATA_ID: 'abcd1984500' } ] 
},
{
 "startDate" : ISODate("2017-07-09T00:00:00Z"),
 "endDate" : ISODate("2017-07-15T00:00:00Z"),
 "data" : [ ] },
{
 "startDate" : ISODate("2017-07-16T00:00:00Z"),
 "endDate" : ISODate("2017-07-22T00:00:00Z"),
 "data" : [{ DATA_ID: '012345678009' }, { DATA_ID: '11111111012' }]
 },
{
 "startDate" : ISODate("2017-07-16T00:00:00Z"),
 "endDate" : ISODate("2017-07-22T00:00:00Z"),
 "data" : [{ DATA_ID: 'abcd9809876' }]
 }
]}  
Now I want to write a query that should search for the DATA_IDs that starts with ('01234', 'abcd') and expect to get an array like :
{
data: [{ DATA_ID: '012345678004' },
       { DATA_ID: 'abcd1984500' },
       { DATA_ID: '012345678009' },
       { DATA_ID: 'abcd9809876' }
      ]
 }
Iam trying to solve this with aggregation-framework but really struggling with it.
 
    