关注:CouchDB Document Update Handlers (in-place updates)和http://wiki.apache.org/couchdb/Document_Update_Handlers
我正在尝试创建自己的函数,现在增加一个整数,但我得到了:
{“error”:“bad_request”,“reason”:“附件名称不能以'_'开头”}
我的设计文档如下:_design / db
"check": {
"increment": "function(doc,req){ var channel = req.query.channel; doc.channels[0].sp = doc.channels[0].sp+1; return[channel, 'check']}"
}
请求如下:
curl -X PUT https://server/db/_design/db/_check/increment/channels?channel=foo
我不太清楚我做错了什么,如果我删除'_'我会得到:
{“错误”:“冲突”,“原因”:“文档更新冲突。”}
由于
答案 0 :(得分:3)
我认为你的要求是错误的。尝试这样的事情:
curl -X PUT https://server/db/_design/db/_update/increment/channels?channel=foo
其次,您的更新处理函数应该直接在设计文档中的“更新”键中(因此不能作为任何视图的一部分)。因此,您的设计文档应如下所示:
{
"_id": "_design/doc",
"updates": {
"increment": "function(doc,req){ var channel = req.query.channel; doc.channels[0].sp = doc.channels[0].sp+1; return[channel, 'check']}"
}
}