I have documents in a collection in following format :
{"hourNo":"0","errorSegments":[
{
"errorSegmentId" : "1019",
"errorCode" : "401"
},
{
"errorSegmentId" : "1022",
"errorCode" : "402"
},
{
"errorSegmentId" : "1010",
"errorCode" : "405"
}
]}
{"hourNo":"1","errorSegments":[
{
"errorSegmentId" : "1011",
"errorCode" : "405"
},
{
"errorSegmentId" : "1055",
"errorCode" : "405"
},
{
"errorSegmentId" : "1033",
"errorCode" : "405"
},
{
"errorSegmentId" : "1042",
"errorCode" : "408"
}
]}
First criteria to match is the hourNo , as there will be other documents with different hour numbers.
The final output required is sub-array of the sub-document that has "errorSegmentId", "errorCode" that matches the criteria of certain errorCode .
For example :
Getting all the errorSegments that are in hour 1 that have errorCode 405 .
So the output would be :
{
"errorSegmentId" : "1011",
"errorCode" : "405"
},
{
"errorSegmentId" : "1055",
"errorCode" : "405"
},
{
"errorSegmentId" : "1033",
"errorCode" : "405"
}
=============================================================
I have tried few aggregation operations , but i am not able to get desired result .
TIA.