I have following records in Mongo 2.4,
{
"name": "AsiaEurope",
"events": [{
"action": "updated",
"someHeaderField": "field1",
"version":"3.3",
"eventValue": {
"local": "newZealand",
"remote": "India"
}
}, {
"action": "new",
"someHeaderField": "field1",
"version":"3.3",
"eventValue": {
"local": "Japan",
"remote": "England"
}
}, {
"action": "finished",
"someHeaderField": "field1",
"version":"3.2",
"eventValue": {
"local": "Brasil",
"remote": "Turkey",
"middlebox": "Russia"
}
}, {
"action": "updated",
"someHeaderField": "field1",
"version":"3.2",
"eventValue": {
"local": "Canada",
"remote": "Cuba"
}
}]
}
I want to write a Mongo query to get eventValue in Java where action equals to updated and name is AsiaEurope. There could be multiple elements in the Events (array) whose action equals to updated.
How to write the query and how to fetch EventValue in Java?
Thank you in advance!
db.collection.find({"name":"AsiaEurope","events.action":"updated"},{"_id":0,"events.eventValue":1})