Hi我在mongodb中有以下数据
{
"_id": {
"$oid": "64ca10afd4b19833b87298d4"
},
"orderId": "597628170576",
"items": [
{
"_id": {
"$oid": "64ca10b2d4b19833b87298d7"
},
"item_id": "ITEM_004",
"title": "Sampoo",
"subtotal": 28,
"total": 30.32,
"tax": 2.32,
"discount": 20
}
]
},
{
"_id": {
"$oid": "64ca10afd4b19833b87298d4"
},
"orderId": "597628170576",
"items": [
{
"_id": {
"$oid": "64ca10b2d4b19833b87298d7"
},
"item_id": "ITEM_004",
"title": "Sampoo",
"quantity": 4,
"tax": 2.32,
"discount": 20
}
]
}
字符串
我有一个要求,我必须匹配items.tax>0并显示
下面是我尝试的聚合
model.aggregate([
{
$match: {
item: {
$elemMatch: {
tax: { $gt: 0 }
}
}
}
},
{ $group: { _id: null, count: { $sum: 1 } } }
])
型
但这似乎给予我空值,请让我知道如何进一步进行
1条答案
按热度按时间uqxowvwt1#
在你编辑之后,我注意到条目确实是嵌套的,如果是这样,问题可能是属性是“条目”(复数形式),而你正在寻找一个不存在的属性“条目”。
这样应该可以
字符串
或更短:
型
更多信息:https://www.mongodb.com/docs/manual/reference/operator/query/elemMatch/#examples