我有一个适用于集合的MapReduce函数,如下所示:
我试图做的是,仅在对象满足某个阈值(如count>10)时才返回Finalize。目前它仍在返回对象,但计数只是null。
有什么想法?
function Map() {
emit (
this.name,
{
count : 1,
flag : this.flag
}
);
}
function Reduce(key, values) {
var count = 0;
var flag = false;
for (var i in values){
count = count + 1;
if (i.flag)
flag = true;
}
var reduced = {
count : count,
flag : flag
}
return reduced;
}
function Finalize(key, reduced) {
if (reduced.count>10 || reduced.flag){
var finalized = {
"count" : reduced.count
}
return reduced;
}
return null;
}
我试图做的是,仅在对象满足某个阈值(如count>10)时才返回Finalize。目前它仍在返回对象,但计数只是null。
有什么想法?