Couchdb _design/doc/_update/push 不能作为对象工作
Posted
技术标签:
【中文标题】Couchdb _design/doc/_update/push 不能作为对象工作【英文标题】:Couchdb _design/doc/_update/push not working as object 【发布时间】:2015-11-17 18:53:11 【问题描述】:我想使用现有的 Couchdb 文档来深度合并此请求中的一些数据
请求::
curl -H "Content-Type: application/json" -X POST http://localhost/couch/ddb/_design/data/_update/push2/cap1 -d '"51" : 5, "65" : 2'
数据库文件::
65: [[]], 51: [[]];
更新功能::
function(doc, req)
var d = req.body;
for(var key in doc.x2)
doc.x2[key][0].push(d[key]);
;
return [doc,'added'];"
问题是包含数据的req.body
显示为String
而不是JSON object
,因此无法选择值
查询的结果应该是::
65: [[2]], 51: [[5]];
其他一切正常,期望 req.body
是 String
而不是 Object
【问题讨论】:
【参考方案1】:嗯,找到了我自己的答案。不难:
var d = req.body;
>> var d = JSON.parse(req.body);
和 d
变为 Object
【讨论】:
是的。常见的错误。 :)req.body
值可以是任何东西——不仅仅是 JSON——所以 CouchDB 不会自动解析它。很高兴你修好了!以上是关于Couchdb _design/doc/_update/push 不能作为对象工作的主要内容,如果未能解决你的问题,请参考以下文章