How to search value in multidimensional array,
for example I want to search example keyword in the following data in mongodb
I used to fetch all data from command
>db.info.find()
{
"_id" : ObjectId("4f74737cc3a51043d26f4b90"),
"id" : "12345",
"info" : [
{
"sno" : 1,
"name" : "ABC",
"email" : "[email protected]"
},
{
"sno" : 2,
"name" : "XYZ",
"email" : "[email protected]"
},
{
"sno" : 3,
"name" : "XYZ",
"email" : "[email protected]"
},
{
"sno" : 4,
"name" : "ABC",
"email" : "[email protected]"
},
{
"sno" : 5,
"name" : "Rohan",
"email" : "[email protected]"
}
]
}
Now, to find data having example I used command
>db.info.find({"info.email":"example"})
and it gives
{
"_id" : ObjectId("4f74737cc3a51043d26f4b90"),
"id" : "12345",
"info" : [
{
"sno" : 1,
"name" : "ABC",
"email" : "[email protected]"
},
{
"sno" : 2,
"name" : "XYZ",
"email" : "[email protected]"
},
{
"sno" : 3,
"name" : "XYZ",
"email" : "[email protected]"
},
{
"sno" : 4,
"name" : "ABC",
"email" : "[email protected]"
},
{
"sno" : 5,
"name" : "Rohan",
"email" : "[email protected]"
}
]
}
But I want only 3 out of 5 sub rows like
{
"_id" : ObjectId("4f74737cc3a51043d26f4b90"),
"id" : "12345",
"info" : [
{
"sno" : 1,
"name" : "ABC",
"email" : "[email protected]"
},
{
"sno" : 2,
"name" : "XYZ",
"email" : "[email protected]"
},
{
"sno" : 5,
"name" : "Rohan",
"email" : "[email protected]"
}
]
}