我正在使用Azure Cosmos MongoDB。给定一些示例数据,我们可以假设amount字段实际上包含Decimal128
值,如何在聚合中求和?
{ amount: 1.23 }
{ amount: 4.56 }
当我只是这样做时:
data.aggregate([
{
$group: {
_id: null,
totalAmount: { $sum: "$amount" }
}
}
])
它似乎要么返回0,要么返回一个关于期望一个整数的错误。
您可以尝试使用$toDecimal
,求和是正确的,但它带有尾随零。
db.collection.aggregate([
{
$group: {
_id: null,
totalAmount: {
$sum: {
"$toDecimal": "$amount"
}
}
}
}
])
游乐场链接。