gpt4 book ai didi

mongoDB,求和两个字段的乘积

转载 作者:行者123 更新时间:2023-12-04 00:35:44 26 4
gpt4 key购买 nike

我有一个项目列表,我希望 mongoDB 返回它们的价格*数量之和的结果,换句话说,我的项目的总值(value)。

Schema = {
_id: ObjectId,
price: Number,
quantity: Number
}

我正在尝试使用聚合框架或 map reduce,但我不知道如何正确使用它。

这里有一个求价格总和的例子,

db.items.aggregate([
{$group: {
_id: null,
prices: {$sum: "$price"}
}}
])

这里是我想要得到的:

db.items.aggregate([
{$group: {
_id: null,
prices: {$sum: "$price"*"$quantity"}
}}
])

最佳答案

您不需要为此使用 map-reduce。您可以使用聚合框架并组合多个聚合运算符。你几乎明白了,你只是错过了最后一 block - $multiply运算符(operator):

db.items.aggregate([{
"$group" : {
"_id" : null,
"prices" : {
"$sum" : {
"$multiply" : ["$price", "$quantity"]
}
}
}
}]);

关于mongoDB,求和两个字段的乘积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24863388/

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