【发布时间】:2019-09-03 06:31:10
【问题描述】:
如果子文档数组中的值大于某个值,则匹配文档,前提是同一文档包含等于某个值的字段
我有一个集合,其中包含带有子文档数组的文档。这个子文档数组包含一个字段,该字段指示我是否可以根据子文档中的另一个字段过滤集合中的文档。当您看到文档示例时,这会更有意义。
{
"_id":"ObjectId('XXX')",
"Data":{
"A":"",
"B":"-25.78562 ; 28.35629",
"C":"165"
},
"SubDocuments":[
{
"_id":"ObjectId('XXX')",
"Data":{
"Value":"XXX",
"DataFieldId":"B"
}
},
{
"_id":"ObjectId('XXX')",
"Data":{
"Value":"",
"DataFieldId":"A"
}
},
{
"_id":"ObjectId('XXX')",
"Data":{
"Value":"105",
"DataFieldId":"Z"
}
}
]
}
我只想匹配包含具有等于 Z 的 DataFieldId 的子文档的文档,但仅当 Data Field Id 等于 Z 时才过滤大于 105 的值。
【问题讨论】:
-
你能分享你想要的回应吗?
-
@Jitendra 我正在根据 Data.DataFieldId 和 Data.Value 过滤上面的文档列表。它是聚合管道的一部分...
-
请确认您希望“DataFieldId”等于“Z”且“Value”大于105。
标签: mongodb mongodb-query