Search code examples
couchbasecouchbase-view

Couchbase - return distinct values


I have a list of small JSON documents in the format:

{
 "name":"Kate",
 "event":"read"
},
{
 "name":"Jon",
 "event":"delete"
},...

My map function is this:

function(doc, meta){
  emit(doc.event, null);
}

As a result I get a list of all events, including duplicates. How do I reduce the resultset to distinct values only?

Thank you


Solution

  • This is the answer from the other question, modified to suit this question. I hope this helps someone! The reduce function:

    function(keys, values, rereduce) {
      return keys.filter(function (e, i, arr) {
        return arr.lastIndexOf(e) === i;
      });
    }