"I seem to remember that there is a request flag that can be passed to
a view query to eliminate document duplicates."

I've never heard of such an option.

To remove duplicate keys from a view, use a reduce function like
"return null" and query with reduce=true.

B.

On Fri, Dec 10, 2010 at 2:08 PM, Jean-Pierre Fiset <[email protected]> wrote:
> This question relates to CouchDb 1.0.1.
>
> I have been reading as much as I can about CouchDb and started implementing 
> an application. I
> seem to remember that there is a request flag that can be passed to a view 
> query to eliminate
> document duplicates. However, I do not recall which one it is. A quick review 
> of the wiki did
> not shed any light.
>
> Currently, I am removing duplicates by using a list function. I have 
> documented the details of
> the list function here:
> http://www.bitsbythepound.com/remove-document-duplicates-from-couchdb-view-query-using-a-list-function-366.html
>
> In short, this is the list function:
>
> function(head, req) {
>    send('{"total_rows":'+head.total_rows
>        +',"offset":'+head.offset+',"rows":[');
>    var ids = {}
>        ,row
>        ,first = true
>        ;
>    while(row = getRow()) {
>        if( !ids[row.id] ) {
>            if( first ) {
>                first = false;
>            } else {
>                send( ',' );
>            };
>            send( toJSON(row) );
>            ids[row.id] = 1;
>        };
>    };
>    send(']}');
> }
>
> Questions:
> 1. Is there a much simpler way to achieve this?
> 2. If the list function is the way to solve the problem, can someone comment 
> on the likelihood
> that this function will sustain the scaling up of the database?
>
> Thanks,
>
> JP
>

Reply via email to