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