i have a document structure like the one mentioned below
{
"_id" : ObjectId("asdasdasdasdasdas"),
"info" : [
{
"dateTime" : ISODate("2016-08-19T12:10:16.000Z"),
"srcName" : null,
"parseFlag" : true,
"GrId" : null,
"eventMessage" : "Error1. "
},
{
"dateTime" : ISODate("2016-09-19T12:10:16.000Z"),
"srcName" : null,
"parseFlag" : false,
"GrId" : null,
"eventMessage" : "Error2"
},
{
"dateTime" : ISODate("2016-10-19T12:10:16.000Z"),
"srcName" : null,
"parseFlag" : false,
"GrId" : null,
"eventMessage" : "Error2"
},
],
"domain" : "asdasdas",
"fileName" : "sdasdsdfsd.dsf.gz",
"eventGroup" : "fault",
"eventId" : 62,
"type" : "1"
}
I have to filter the records based on the datetime in info. For example if i have to get the august month data alone How do i do it?
Output should be something like
{
"_id" : ObjectId("asdasdasdasdasdas"),
"info" : [
{
"dateTime" : ISODate("2016-08-19T12:10:16.000Z"),
"srcName" : null,
"parseFlag" : true,
"GrId" : null,
"eventMessage" : "Error1. "
},
"domain" : "asdasdas",
"fileName" : "sdasdsdfsd.dsf.gz",
"eventGroup" : "fault",
"eventId" : 62,
"type" : "1"
}
Using aggregate and unwind takes lot of time. Let me know how to handle this scenario