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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 >>> <[email protected]> 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 >>>> >>> >>
