Mongodb mapReduce不计算发射数

Mongodb mapReduce不计算发射数,mongodb,mapreduce,mongoid,Mongodb,Mapreduce,Mongoid,我正在尝试以下方法: map = %Q{ function() { emit(this.ei, { second: this.se, amount: this.am }); } } reduce = %Q{ function(key, values) { var count = 0; values.forEach(function(value) {

我正在尝试以下方法:

map = %Q{
      function() {            
          emit(this.ei, { second: this.se, amount: this.am });
      }
    }

    reduce = %Q{
      function(key, values) {

        var count = 0;
        values.forEach(function(value) {
          count++;
        });

       return { second: 0, amount: count }
      }
    }
问题是计数(数量)==2!我这里有这么多文件。“调试”时,我注意到有时“value”是一个数组。可能是吗?我做错了什么


谢谢

就我个人而言,对于像这样的简单事情,我更喜欢聚合管道。有时,你对值是数组的观察是非常正确的,你可以在这里的示例中看到这一点:(在图中,蓝色是数组,灰色不是)。这确实是预期的(让reduce函数接收值作为数组的一种形式)-但从我的示例中,它有更深的含义。看起来像个臭虫,它不是臭虫,它总是这样令人讨厌。