Couchdb更新处理程序
以下:及 我正在尝试创建我自己的函数,该函数现在递增一个整数,但我得到: {“错误”:“错误的请求”,“原因”:“附件名称不能以''.'''开头”} 我的设计文档看起来像:_design/dbCouchdb更新处理程序,couchdb,handlers,Couchdb,Handlers,以下:及 我正在尝试创建我自己的函数,该函数现在递增一个整数,但我得到: {“错误”:“错误的请求”,“原因”:“附件名称不能以''.'''开头”} 我的设计文档看起来像:_design/db "check": { "increment": "function(doc,req){ var channel = req.query.channel; doc.channels[0].sp = doc.channels[0].sp+1; return[channel, 'check
"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
我不太明白我做错了什么,如果我删除“uu”,我会得到:
{“错误”:“冲突”,“原因”:“文档更新冲突”。}
谢谢,我想你的要求是错误的。试着这样做:
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']}"
}
}
其次,更新处理程序函数应该直接位于设计文档中的“updates”键中(因此不是任何视图的一部分)。因此,您的设计文档应如下所示:
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']}"
}
}