couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nebu Pookins <>
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 <> 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 <>:
>> We can't assume that, the document may have already changed between
>> you reading it and updating it.
>> B.
>> On 1 June 2011 17:35, Daniele Testa <> 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

View raw message