couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dennis Clark <dbfcl...@gmail.com>
Subject Re: Update conflicts?
Date Tue, 05 Apr 2011 23:12:40 GMT
What's your actual function? Update functions should work fine for your use case, but can be
a little finicky to get working, particularly the first time.

On Apr 5, 2011, at 7:01 PM, Luis Miguel Silva <luismiguelferreirasilva@gmail.com> wrote:

> Thank you! I'll probably have to evaluate it then...
> 
> I've looked at the update handlers but i can't get them to work :o\...
> I'm creating a _design document with a "updates" field with an update
> function inside but i can't seem to get it to work.
> 
> Either way, i think it's time i evaluate MongoDB :o((... (this was
> unexpected, i was completely sold on CouchDB :o|).
> 
> On Tue, Apr 5, 2011 at 4:50 PM, Sean Copenhaver
> <sean.copenhaver@gmail.com> wrote:
>> Ah, the problem is that couchdb does not do partial updates. It writes the whole
doc. MongoDB I believe does support partial updates though. No experience with it.
>> 
>> 
>> 
>> On Apr 5, 2011, at 6:41 PM, Luis Miguel Silva <luismiguelferreirasilva@gmail.com>
wrote:
>> 
>>> More or less!
>>> 
>>> The most common scenario will be:
>>> - two or more processes writing to the same document, but only to a
>>> specific attribute (not overwriting the whole document)
>>> 
>>> If, by any chance, two processes overwrite the same field, i'm ok with
>>> the last one always winning.
>>> 
>>> Thanks,
>>> Luis
>>> 
>>> On Tue, Apr 5, 2011 at 4:26 PM, Robert Newson <robert.newson@gmail.com>
wrote:
>>>> "Ideally, we would be able to update without specifying the _rev, just
>>>> posting (or, in this case PUTting) to the document..."
>>>> 
>>>> So you want to blindly overwrite some unknown data?
>>>> 
>>>> B.
>>>> 
>>>> On 5 April 2011 22:57, Zachary Zolton <zachary.zolton@gmail.com> wrote:
>>>>> Luis,
>>>>> 
>>>>> Checkout _update handlers:
>>>>> 
>>>>> http://wiki.apache.org/couchdb/Document_Update_Handlers
>>>>> 
>>>>> 
>>>>> Cheers,
>>>>> 
>>>>> Zach
>>>>> 
>>>>> On Tue, Apr 5, 2011 at 4:46 PM, Luis Miguel Silva
>>>>> <luismiguelferreirasilva@gmail.com> wrote:
>>>>>> Dear all,
>>>>>> 
>>>>>> I'm trying to play around with updates and i'm bumping into some
problems.
>>>>>> 
>>>>>> Let's image we have to clients that poll a document from the server
at
>>>>>> the same time and get the same _rev.
>>>>>> Then one of them updates the doc based on the _rev it got:
>>>>>> [root@xkitten ~]# curl -X PUT -d
>>>>>> '{"_rev":"3-0d519bcf08130bf784f3c35d79760740","hello2":"fred2"}'
>>>>>> http://localhost:5984/benchmark/test?conflicts=true
>>>>>> {"ok":true,"id":"test","rev":"4-03640ebafbb4fcaf127844671f8e2de7"}
>>>>>> Then another one tries to update the doc based on the same exact
_rev:
>>>>>> [root@xkitten ~]# curl -X PUT -d
>>>>>> '{"_rev":"3-0d519bcf08130bf784f3c35d79760740","hello3":"fred3"}'
>>>>>> http://localhost:5984/benchmark/test?conflicts=true
>>>>>> {"error":"conflict","reason":"Document update conflict."}
>>>>>> [root@xkitten ~]#
>>>>>> 
>>>>>> Is there a way to avoid this?! (like...make the update just create
a
>>>>>> new _rev or something)??
>>>>>> 
>>>>>> Ideally, we would be able to update without specifying the _rev,
just
>>>>>> posting (or, in this case PUTting) to the document...
>>>>>> 
>>>>>> Thoughts??
>>>>>> 
>>>>>> Thank you,
>>>>>> Luis
>>>>>> 
>>>>> 
>>>> 
>> 

Mime
View raw message