我正在查询 MongoDB 集合以提取信息,因此只能进行聚合操作(即 no update()
)。
从几个类似这些形状的文档中,每个文档都包含一个嵌入式数组,其中至少有一个带有partNum : "1200664"
字段的文档):
{
"recType" : "H1",
"progCount" : "097314238",
"items" : [
{
"qty" : "00011",
"partNum" : "4471719"
},
{
"qty" : "00027",
"partNum" : "1200664"
}
]
},
{
"recType" : "H1",
"progCount" : "175564685",
"items" : [
{
"qty" : "00027",
"partNum" : "1200664"
}
]
}
我试图得到以下结果,其中每个文档都保持其形状(因此不允许$unwind
或$replaceRoot
阶段),但所有不满足 a 的嵌入式数组元素{$match: {partNum: "1200664"}}
都被删除:
{
"recType" : "H1",
"progCount" : "097314238",
"items" : [
{
"qty" : "00027",
"partNum" : "1200664"
}
]
},
{
"recType" : "H1",
"progCount" : "175564685",
"items" : [
{
"qty" : "00027",
"partNum" : "1200664"
}
]
}
我在管道阶段做了几次尝试$redact
,但我无法提出有效的调用,更不用说获得与上述类似的任何结果。
我什至想知道$redact
这里的操作是否正确。