couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benjamin Nortier" <bjnort...@gmail.com>
Subject Re: View with incremental counter
Date Tue, 18 Nov 2008 14:51:57 GMT
Should CouchDB not restrict defining state outside the map function?
I.e. you should not be able to declare a counter outside the function?

On Tue, Nov 18, 2008 at 1:42 PM, Jedediah Smith
<jedediah@silencegreys.com> wrote:
>
> 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
>>
>



-- 
Benjamin Nortier
e: bjnortier@gmail.com
c: +44 (0)778 946 1959
msn: bjnortier@mail.com
gtalk: bjnortier@gmail.com

Mime
View raw message