I have a MongoDB collection whose structure is something like this:
/* 1 */
{
"_id" : ObjectId("5c09a454dd42360001fd2515"),
"conversations" : {
"0" : {
"message" : "Message 1",
.
.
.
},
"1" : {
"message" : "Message 1"
.
.
.
},
"2" : {
"message" : "Message 5"
.
.
.
},
"3" : {
"message" : "Message 1"
.
.
.
},
"4" : {
"message" : "Message 2"
.
.
.
},
"5" : {
"message" : "Message 3"
},
"6" : {
"message" : "compliance"
},
"7" : {
"message" : "Google"
}
}
/* 2 */
{
"_id" : ObjectId("5c09a673c2a98f00012f4efb"),
"conversations" : {
"0" : {
"message" : "Message 11"
},
"1" : {
"message" : "Google",
},
"2" : {
"message" : "Message 7"
}
}
/* 3 */
{
"_id" : ObjectId("5c09f570173f7900015a82b2"),
"conversations" : {
"0" : {
"message" : "Message 4"
},
}
.
.
.
In above sample data, I have a set of documents inside the collection and within each document there is an array of dictionary field named conversations. Within this field I have list of dictionary fields(0,1,2...). What I want to do is filter all the documents where within each conversationsfield, the message value is Message 4.
I know the way to filter to a specific field within each document is db.getCollection('collection_1').find({conversation:""}), but I don't know how do I apply it to list of dictionary fields like for my case. Any help?