couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Hammond <skippy.hamm...@gmail.com>
Subject Re: Updating views while inserting documents
Date Wed, 15 Jul 2009 13:19:33 GMT
On 14/07/2009 7:25 PM, Daniel Trümper wrote:
>
>> Can you avoid processing this field in the view?
>>
>> Retrieving the view with include_docs=true can still give your users the
>> complete documents, but those large data would be neiter stored nor
>> indexed in
>> the view.
> Jan has just given a talk in the company I work for and helped me on
> this one. Of course I have been doing things wrong in general.
>
> The specific view I was trying to generate was 'give me a set of unique
> field values, when the user of my library can choose the field name'. I
> did the 'uniqueness' thing in the reduce part which is, as I have now
> learnt, very bad :)

A variation on your map should be able to do that.

> ---snip-map--
> function(doc) {
>   for( var field in doc ) {
>     if( field.indexOf('_') != 0 ) {
>       emit( field, doc[field] );
>     }
>   }
> }
> ---snip-map--

If you emit([field, doc[field]], null);

(ie, make the value itself part of the key) and a simple '_sum' reduce, 
then querying with group=true you should get that unique list?

Mark

Mime
View raw message