gpt4 book ai didi

javascript - 蒙戈 : Sum Value in a Field with map/reduce

转载 作者:行者123 更新时间:2023-11-28 09:44:23 24 4
gpt4 key购买 nike

我有一个看起来像这样的集合:

{
"_id" : ObjectId("foo-1"),
"status" : "good",
"value" : "100.00"
},

{
"_id" : ObjectId("foo-2"),
"status" : "good",
"value" : "100.00"
}

我想要得到两件事:

  • 所有对象的总“值(value)”
  • “具有特定状态的所有对象的总值(value)

这是我的映射/归约函数:

var map = function () {
emit("total", {sum: this.value ))
}

var reduce = function (key, values) {
var result = {sum:0};
values.forEach(function (value) {result.sum += value.value;});
return result;
}

var t = db.leads.mapReduce(map, reduce, {out : "total"});
db[t.result].find();

上面的输出是:

PRIMARY> db[t.result].find();
{ "_id" : "total", "value" : { "sum" : NaN } }

为什么“sum”返回 NaN?

最佳答案

在你的reduce函数中-

{result.sum += value.value;}

但是您正在发出带有“sum”字段的文档。尝试:

{result.sum += value.sum;}

关于javascript - 蒙戈 : Sum Value in a Field with map/reduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12009110/

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