MongoDB:当前字段的总和



我们有文档

{a: 1}
{a: 5}
{a: 3}

如何将数据与计算当前和进行汇总?

{a: 1, cs: 1}
{a: 5, cs: 6}
{a: 3, cs: 9}

您目前只能使用mapReduce在MongoDB中做这类事情。原因是目前只有一个地方可以容纳"全局"变量,这基本上就是的"运行总数":所需要的

db.collection.mapReduce(
    function(){ 
        totals += this.a;
        emit(this._id, {"a": this.a, "cs": totals});
    },
    function() {},  // nothing to reduce here
    {
        "out": { "inline": 1 },
        "scope": { "totals": 0 }
    }
);

所以"这里没有实际的分组",但如果你想的话,你可以这样做。重点是,这会为每个记录保持一个"运行总数",这似乎是你想要的。

"mapReduce"命令有一个名为"scope"的方面,用于实现可用于此类任务的"全局"变量。

相关内容

  • 没有找到相关文章