I had the same problem and was about to embark on a similar solution when I discovered that the req object passed into the update handler contains a uuid for you to use. So all you need to do is function(doc, req) { var newDoc = JSON.parse(req.body); if (!doc){ newDoc._id = req.uuid; ... Martin On 28 July 2010 09:01, Alux wrote: > Hello, > > after some funny result I now am able to create documents with an update > handler. I want to use usual couchy ids, and didnt know how to get the (in > one step, that is), so I did created one in JavaScript as below. Is this > sensible? I'm a newbee, so comments are very welcome. > > Kind regards, alux > > ------ > > function(doc, req) { > start({'headers': {'Content-Type': 'text/html'}}); > var maxStr = 'ffffffffff'; > var max = parseInt(maxStr, 16); > var r1=Math.floor(Math.random()*max); > var r2=Math.floor(Math.random()*max); > var r3=Math.floor(Math.random()*max); > var r4=Math.floor(Math.random()*max); > var rstr = r1.toString(16) + r2.toString(16) + r3.toString(16) + > r4.toString(16); > var id = rstr.substr(0,32); > doc = {_id: id}; > doc.type = 'note'; > var message = '

Created new document with id=' + > id + '

' + > 'Enter the new > document.'; > return [doc, message]; > } > > Remarks: > > 1. This update handler shall be called from a browser with HTTP POST from a > form, it returns HTML for the browser. > 2. The four steps of random generation are because Math.random generates > not > very long numbers, and toString() removes leading zeros. So this should be > rather safe. >