couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luis Miguel Silva <luismiguelferreirasi...@gmail.com>
Subject Re: Update conflicts?
Date Tue, 05 Apr 2011 23:01:55 GMT
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