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函数接收值作为数组的一种形式)-但从我的示例中,它有更深的含义。看起来像个臭虫,它不是臭虫,它总是这样令人讨厌。