couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nebu Pookins <nebupook...@gmail.com>
Subject Re: Updates
Date Thu, 02 Jun 2011 17:05:57 GMT
CouchDB differs from those other databases in that the other databases allow you to update
a single field, rather than clobber the whole row. E.g. In SQL, you'd write something like
"update field1 = 35 where I'd = 17" and if somebody had modified field2 in the interim, your
query wouldn't undo their change. In contrast, with couchDB, you're PUTting the whole document,
which *would* undo their change, hence the need for specifying the revision. 

Sent from my iPad

On 2011-06-01, at 12:46 PM, Daniele Testa <daniele.testa@gmail.com> wrote:

> Shouldn't that be up to the user? Why would the database protect me from that.
> 
> You would have the same "problem" in all databases. If I edit a page
> in a CMS and in the meantime that I change the things in the form,
> some other user might have edit that same page.
> 
> I don't see the problem why the user cannot specify something like
> "_rev=latest".
> 
> Personally, I find it very cumbersome to have to do a GET every time I
> need to do a PUT. It also makes the update slower, as I need to do 2
> requests (sometimes over slow connections).
> 
> Regards,
> Daniele
> 
> 
> 2011/6/1 Robert Newson <robert.newson@gmail.com>:
>> We can't assume that, the document may have already changed between
>> you reading it and updating it.
>> 
>> http://guide.couchdb.org/editions/1/en/consistency.html
>> 
>> B.
>> 
>> On 1 June 2011 17:35, Daniele Testa <daniele.testa@gmail.com> wrote:
>>> Hi,
>>> 
>>> I am new to this mailing list so please forgive me if this is a stupid question.
>>> 
>>> Why do I have to specify a revisionID when I do an update?
>>> Can't couchdb just assume I meant to update the last revision if I
>>> leave the revisionID empty?
>>> 
>>> If I know that I want to update document with id=XYZ, do I have to
>>> first do a GET/HEAD for that id to get the
>>> last revision ID, and then run the PUT?
>>> 
>>> I really hope there is a better way :)
>>> 
>>> Regards,
>>> Daniele
>>> 
>> 

Mime
View raw message