Fra*_*bek 4 mongodb aggregation-framework
我有一个 mongo 查询,我需要分组,然后从最大值中减去最小值,但这样做时遇到问题。
这是我的查询:
{
$group : {
_id : {
type: "$type",
id : "$id"
},
sent : {$subtract: [{$max : "$value"}, {$min : "$value"}]}
}
}
Run Code Online (Sandbox Code Playgroud)
但我收到此错误消息:
$subtract 累加器是一个一元运算符
我想知道如何在小组赛中进行减法。
Yathish Manjunath 的答案的替代方法是使用$addFields运算符:
db.[collection].aggregate([
{
$group : {
_id : {
type: "$type",
id : "$id"
},
maxValue : {$max : "$value"} ,
minValue : {$min : "$value"}
}
},
{
$addFields : {
sent : {$subtract: [ "$maxValue", "$minValue" ]}
}
}
])
Run Code Online (Sandbox Code Playgroud)
您可以尝试以下查询吗:
db.[collection].aggregate([
{
$group : {
_id : {
type: "$type",
id : "$id"
},
maxValue : {$max : "$value"} ,
minValue : {$min : "$value"}
}
},
{
$group : {
_id : {
type: "$_id.type",
id : "$_id.id"
},
sent : {$subtract: [ "$maxValue", "$minValue" ]}
}
}
])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7350 次 |
| 最近记录: |