【发布时间】:2018-07-15 16:34:41
【问题描述】:
沙发上的数据对每个联系人类型都有如下记录。
[{
"_id":"1"
"contact_type":"AA"
"contact_email" : "userA@domain.com"
},{
"_id":"2"
"contact_type":"BB"
"contact_email" : "userA@domain.com"
},{
"_id":"3"
"contact_type":"CC"
"contact_email" : "userA@domain.com"
},{
"_id":"4"
"contact_type":"AA"
"contact_email" : "userB@domain.com"
},
{
"_id":"5"
"contact_type":"BB"
"contact_email" : "userB@domain.com"
}]
记录 1、2、3 表示与电子邮件 userA@domain.com 的联系,而 记录 4 和 5 表示与电子邮件 userB@domain.com 的联系。
我的任务是构建一个查询来获取唯一联系人的总数(在本例中为 2 个),但我不确定如何实现。
目前,我有一个带有 _count reduce 的 map 函数
function(doc){
emit(doc.emailAddress, 1);
}
返回
{
"rows":
{
"key" : "userA@domain.com",
"value" : 3
},
{
"key" : "userA@domain.com",
"value" : 2
}
}
但是,我需要的是上面这些记录的总量,即类似
{
"total" : 2
}
(注意:数据库很大,因此不能循环通过映射/缩减视图来计算记录数)
【问题讨论】:
标签: mapreduce couchdb couchdb-futon