这个问题在这里已有答案:
我的json数据结构看起来像这样
"A": [{
"B": {
"C": [{
"code": 1,
"text": "aaaa"
},
{
"code": 4,
"text": "bbbb"
},
{
"code": 6,
"text": "cccc"
},
]
}
}]
按照filter
用法我写的shell命令看起来像这样
db.article.aggregate(
{
$match: {
"number": "123123"
},
},
{
$project: {
'A.B.C': {
$filter: {
input: "$A.B.C",
as: "item",
cond: { $eq: [ '$$item.code', 4 ] }
}
}
}
}
)
但$eq
看起来不像作品,它给了一个空列表
我想知道langs
数组中的一个特定项目,我写错了什么?
尝试以下内容:
db.article.aggregate(
{ $unwind: '$ArticleInfo' },
{
$project: {
'A': {
$filter: {
input: "$ArticleInfo.InfArt.langs",
as: "item",
cond: { $eq: [ '$$item.code', 4 ] }
}
}
}
}
)