我非常坚持这个问题,希望有些人可以帮我使用map / reduce函数,我有一些文件,比如下面的数据元素,比如doc.event1中的doc.userid,但是doc.userid不存在于doc中.event2,如下:
doc.event1: userid='6908503', probNumber='USP06HVU8NF', userTypeCode='M',status='OPEN',...
doc.event1: userid='6908503', probNumber='USP02BUEIFR', userTypeCode='M',status='OPEN',...
doc.event1: userid='ABCCCCCC', probNumber='GBP02M8RFKI', userTypeCode='M',status='OPEN',...
doc.event2: probNumber='USP06HVU8NF', status='CLOSE'.....
...
我需要使用带有doc.probNumber组合的doc.userid作为地图中的关键字来获取给定相同probNumber的最新状态,这是我在地图中使用的内容及其结果
function(doc) {
if(doc.event){
var idv = null;
for (var idu in doc.users){
if (doc.users[idu].userTypeCode == "M"){
idv = doc.users[idu].userId;
}
}
emit([idv,doc.problemNumber],[doc.status]);
}
}
结果:
key values
[null, "USP06HVU8NF"], ["CLOSE"]
["6908503", "USP02BUEIFR"],["OPEN"]
["6908503", "USP06HVU8NF"],["OPEN"]
["ABCCCCCC", "GBP02M8RFKI"],["OPEN"]
如何使用reduce将[null,“USP06HVU8NF”] [“6908503”,“USP06HVU8NF”]的结果与最新状态CLOSE合并为[“6908503”,“USP06HVU8NF”],[“CLOSE”]按预期方式?
["6908503", "USP06HVU8NF"],["CLOSE"]
["6908503", "USP02BUEIFR"],["OPEN"]
["ABCCCCCC", "GBP02M8RFKI"],["OPEN"]