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