急!!!在线等关于mongoose的mapReduce的问题
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 } } ]
9 回复
emit第二个参数的值类型要和reduce的返回一样,比如你这个例子,map里应该类似: emit(this.shopId, {sum: xxx, count: xxx}); 好好研究下官方示例吧。
挖个坟不知道有人帮我讲解一下挖?。。今天我研究map就是做map的然后返回值给reduce的v,然后根据自己需求在reduce里foreach v什么的在设置一个返回值出去。 也就是map做过滤 过滤后的数据给reduce 在做返回
不错 自豪地采用 CNodeJS ionic
喂喂喂,不要挖坟喂,我自己看了羞愧死了 QwQQQQQQQQQQQQ
哈哈…顶上去…让更多人挖…哈哈
From Noder
哦!楼主,我看到了哦!继续搔搔你!
原来你也发过这样的帖子,哈哈
@luinlee -. - 那个时候初入坑
@xadillax 快指导一下2L,哈哈哈