incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jedediah Smith <jeded...@silencegreys.com>
Subject Re: View with incremental counter
Date Tue, 18 Nov 2008 13:42:30 GMT

You can't maintain a state across calls to map functions in this way. 
Map functions can be called in any order or in parallel, any number of 
times on a particular document and in completely separate environments. 
They should not have any side effects or depend on any outside state.

You should read up on Google's MapReduce and maybe functional 
programming in general in order to understand how CouchDB works.

If you just want to number the results of your view, that can be easily 
done by the calling code.

Adam Groves wrote:
> Hi,
> 
> I've got the following view:
> 
> count = 0;
> function(doc) {
>   if(doc.type == "document") {
>     count = count + 1
>     emit(doc._id, count);
>   }
> }
> 
> The idea is that I get a list of documents, each having a counter
> value which is incremental. I expected the count values to come out in
> order, but that isn't the case: my first few documents have values of
> 62, 61, 22, 19. I'm not quite sure what's going on here - any ideas
> how the order is being set here?
> 
> Regards
> 
> Adam Groves
> 

Mime
View raw message