我有一些收藏的文件,例如:
{
"login":"xxx",
"someAttribute":"someValue",
"subDocs":[
{
"data": "val1",
"subDocNestedArray":["WWW","AAAA"]
},
{
"data": "val2",
"subDocNestedArray":["AAAA"]
},
{
"data": "val3",
"subDocNestedArray":["ZZZ"]
}
]
}
我检索与login="xxx"和subDocNestedArray="AAAA"匹配的所有文档,但只想要与根文档的其他属性相匹配的subDocs,例如:
{
"login":"xxx",
"someAttribute":"someValue",
"subDocs":[
{
"data": "val1",
"subDocNestedArray":["WWW","AAAA"]
},
{
"data": "val2",
"subDocNestedArray":["AAAA"]
}
]
}
我已经尝试过:
Aggregation.unwind("$subDocs"),
Aggregation.match(Criteria.where("subDocs.subDocNestedArray").is("AAAA")),
Aggregation.group("$_id")
导致缺少字段的
结果
{
"login": null,
"someAttribute": null,
"subDocs":[
{
"data": "val1",
"subDocNestedArray":["WWW","AAAA"]
},
{
"data": "val2",
"subDocNestedArray":["AAAA"]
}
]
}
我找不到使用"redact"的语法。
有什么线索吗?
让我的MongoDB查询返回过滤后的结果。
$filter
。 - user20042973