【发布时间】:2019-03-22 20:42:04
【问题描述】:
我有一个MongoDB collection,它的结构是这样的:
/* 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"
},
}
.
.
.
在上面的示例数据中,我在collection 中有一组文档,在每个文档中都有一个名为conversations 的字典字段数组。在这个字段中,我有字典字段列表(0,1,2...)。我想要做的是过滤每个conversationsfield 中的所有文档,message 值为Message 4。
我知道过滤到每个文档中特定字段的方法是db.getCollection('collection_1').find({conversation:""}),但我不知道如何将其应用于字典字段列表,例如我的案例。有什么帮助吗?
【问题讨论】:
标签: mongodb aggregation-framework