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.