Michael,
In other words... RTFM ;)
Thanks... I just dumped.. "_rev":"1-3118685883", (in my case) in
before the "views" element in the JSON and it is working perfectly.
Thanks! For me in my case the race condition is not an issue.
Using the revs=true works nice too to get the current revisions and
work that into a programmatic update of a design doc. Obviously not
something some one wants to do too often since view must be generated on
first call, but nice for building up design docs with.
Thanks
Doug
Michael Stillwell wrote:
On 2 Jun 2009, at 16:18, Douglas Fils wrote:
If a person modifies the code and wants to upload a new version how
is that now done? I tried PUT again and get a "Document update
conflict" which I kinda expected. Then I tried a POST which gave me
back a 500 error.
Do you have to DELETE the URI then re-PUT it or is there a mechanism
to update/version the design document?
If you pass along the _rev of the *previous* version it will update as
you expect. See:
http://wiki.apache.org/couchdb/HTTP_Document_API
"To update an existing document, you also issue a PUT request. In this
case, the JSON body must contain a _rev property, which lets CouchDB
know which revision the edits are based on."
Otherwise, if retrieving _rev is awkward, you can DELETE and re-add.
I don't know of a good way to handle the potential race conditions of
either case, if this is important to avoid. (i.e. someone else
updates or adds your document before you get a chance to.)
Michael