Данные на диване имеют запись для каждого типа контакта следующим образом.
[{
"_id":"1"
"contact_type":"AA"
"contact_email" : "[email protected]"
},{
"_id":"2"
"contact_type":"BB"
"contact_email" : "[email protected]"
},{
"_id":"3"
"contact_type":"CC"
"contact_email" : "[email protected]"
},{
"_id":"4"
"contact_type":"AA"
"contact_email" : "[email protected]"
},
{
"_id":"5"
"contact_type":"BB"
"contact_email" : "[email protected]"
}]
Записи 1,2,3 представляют контакт с электронной почтой [email protected], а записи 4 и 5 представляют контакт с электронной почтой [email protected].
Моя задача состоит в том, чтобы построить запрос для получения общего количества уникальных контактов (в данном случае 2), но я не уверен, как этого можно достичь.
В настоящее время у меня есть функция карты с уменьшением _count
function(doc){
emit(doc.emailAddress, 1);
}
который возвращает
{
"rows":
{
"key" : "[email protected]",
"value" : 3
},
{
"key" : "[email protected]",
"value" : 2
}
}
Однако мне нужно общее количество этих записей выше, т.е. что-то вроде
{
"total" : 2
}
(Примечание: база данных велика, поэтому циклически просматривать сопоставленное/сокращенное представление для подсчета записей нельзя)