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