【发布时间】:2019-12-30 05:43:32
【问题描述】:
我是 mongodb 的新手。假设如下。一个集合 x、y 和 z 中有 3 种类型的文档。
docs = [{
"item_id": 1
"type": "x"
},
{
"item_id": 2
"type": "x"
},{
"item_id": 3
"type": "y",
"relavent_item_ids": [1, 2]
},
{
"item_id": 3
"type": "y",
"relavent_item_ids": [1, 2, 3]
},{
"item_id": 4
"type": "z",
}]
我想得到以下。
- 忽略类型为
z的文档 - 获取
x类型的所有文档,其中item_id不在relavent_item_ids类型的y文档中。 - 结果应该有
item_id字段。
我尝试做match $in 但这会返回所有记录,我无法弄清楚如何处理y 类型的文档子集。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework