2

以下:CouchDB 文档更新处理程序(就地更新)http://wiki.apache.org/couchdb/Document_Update_Handlers

我正在尝试创建自己的函数,该函数现在增加一个整数,但我得到:

{"error":"bad_request","re​​ason":"附件名称不能以'_'开头"}

我的设计文档如下所示:_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

我不太明白我做错了什么,如果我删除'_',我会得到:

{"error":"conflict","re​​ason":"文档更新冲突。"}

谢谢

4

1 回答 1

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']}"
    }
}
于 2011-09-20T11:09:43.483 回答