Kevin,

You'll want to do something like this:

{
   "_id": "_design/foo",
   "views": {
       "unique_names": {
           "map": "function(doc) {emit(doc.name, 1);}",
"reduce": function(keys, values, rereduce) {return sum(values);}"
      }
   }
}

And then you can call this like:

   http://127.0.0.1:5984/db_name/_design/foo/_view/unique_names

to get ouput like

{"rows": [
   {"key": null, "value": 3}
}

HTH,
Paul Davis

Kevin Wang wrote:
Hi All,

While I am trying to switch my mind to map/reduce model while accessing
couchdb data, I found myself struggling.  Here is a simple question that you
guys might be able to answer:

If I have the following set of data in a doc:

{"name": "foo", "prop": "value1"}
{"name": "bar", "prop": "value2"}
{"name": "foo", "prop": "value3"}
{"name": "bob", "prop": "value4"}

How to write the map/reduce functions so that I can get a view which returns
the total number of unique name's?  In this case, the result should be 3.

Thanks!

-- Kevin


Reply via email to