With the second solution, I would end up with something like this (after reduce)
{ key: ["a", "one"], value: 3 }
{ key: ["a", "two"], value: 1 }
{ key: ["b", "three"], value: 2 }
So if I want to find all the unique values for "a", I use
startkey=["a"]&endkey=["a\u9999"] and then parse key[1] to get my
unique values. A little ugly, but works.
K.
On Fri, Feb 27, 2009 at 2:22 PM, David Van Couvering
<[email protected]> wrote:
> I would hesitate uniquing on the client side as you are as a result shipping
> more data across the network. I don't fully grok your other solution, but
> in general I would try to reduce the output as much as possible when
> building the view and then ship just what you need over to the client.
>
> David
>
> On Fri, Feb 27, 2009 at 2:13 PM, kowsik <[email protected]> wrote:
>
>> First time I'm playing with rereduce and stumped a bit. I got emits like
>> this:
>>
>> ("a", "one")
>> ("a", "two")
>> ("a", "one")
>> ("a", "one")
>> ("b", "three")
>> ("b", "three")
>>
>> What I would like to get at the end of the reduce is this:
>>
>> { key: "a", value: [ "one", "two" ] }
>> { key: "b", value: [ "three" ] }
>>
>> I could implement a really simple reduce like this:
>>
>> reduce(k, v) { return v }
>>
>> and then unique on the client side.
>>
>> Other option is to emit(["a", "one"], 1), reduce to sum and then use
>> startkey/endkey to walk through the unique keys.
>>
>> Is there a better way?
>>
>> Thanks,
>>
>> K.
>>
>
>
>
> --
> David W. Van Couvering
>
> I am looking for a senior position working on server-side Java systems.
> Feel free to contact me if you know of any opportunities.
>
> http://www.linkedin.com/in/davidvc
> http://davidvancouvering.blogspot.com
> http://twitter.com/dcouvering
>