急!!!在线等关于mongoose的mapReduce的问题
发布于 1年前 作者 xadillax 760 次浏览
var o = {};
o.map = function() { emit(this.shopId, this.score); };
o.reduce = function(k, vals) { return { sum: Array.sum(vals), count: vals.length }; };
self.model.mapReduce(o, function(err, items) { 
    console.log(items);
});

怎么出来的结果跟我预想的不对?

 [ { _id: 52b6e1ac3bcdfc6e7fe491d4, value: 3 } ]

预想的不应该是这样的吗:

 [ { _id: 52b6e1ac3bcdfc6e7fe491d4, value: { sum: BLAHBLAH, count: BLAHBLAH } } ]
1 回复

emit第二个参数的值类型要和reduce的返回一样,比如你这个例子,map里应该类似: emit(this.shopId, {sum: xxx, count: xxx}); 好好研究下官方示例吧。

回到顶部