gpt4 book ai didi

javascript - MongoDB 聚合总是返回 0 个值

转载 作者:可可西里 更新时间:2023-11-01 10:02:48 24 4
gpt4 key购买 nike

以下查询:

[{
$match: {
$and: [
{campaignID: "12345"},
{date: "2016-10-18"},
{hour: {$gte: 0}},
{hour: {$lte: 3}}
]
}
}
}]

返回以下(正确的)数据:

[{"_id":"580638b1e4b01c1a027e82c1","campaignID":"12345","date":"2016-10-18",
"hour":0,"foo":10,"bar":10},
{"_id":"580638cbe4b01c1a027e82c2","campaignID":"12345","date":"2016-10-18",
"hour":1,"foo":11,"bar":11},
{"_id":"580638e5e4b01c1a027e82c3","campaignID":"12345","date":"2016-10-18",
"hour":2,"foo":12,"bar":12},
{"_id":"580638efe4b01c1a027e82c4","campaignID":"12345","date":"2016-10-18",
"hour":3,"foo":13,"bar":13}]

但是下面的查询:

[
{
$match: {
$and: [
{campaignID: "12345"},
{date: "2016-10-18"},
{hour: {$gte: 0}},
{hour: {$lte: 3}}
]
}
},
{
$group: {
_id: campaignID,
foo:{$sum: "foo"},
bar:{$sum: "bar"}
}
}
]

返回以下(错误的)数据:

[{"_id":"sA48VsoQyuuEDVI5lr4loL31mqoCRT","foo":0,"bar":0}]

'foo' 和 'bar' 都应该是 46 (10+11+12+13)

我做错了什么?

最佳答案

您应该使用 $ 和字段名称来引用它的值。

$group: {
_id: "$campaignID",
foo:{$sum: "$foo"},
bar:{$sum: "$bar"}
}

关于javascript - MongoDB 聚合总是返回 0 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40113178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com