Couchdb _design/doc/_update/push 不作为对象工作
Couchdb _design/doc/_update/push not working as object
我想使用现有的 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
,因此无法 select 值
查询结果应该是:
{65: [[2]], 51: [[5]]};
其他一切正常,预计 req.body
是 String
而不是 Object
嗯,找到了我自己的答案。不难:
var d = req.body;
>> var d = JSON.parse(req.body);
并且 d
变为 Object
我想使用现有的 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
,因此无法 select 值
查询结果应该是:
{65: [[2]], 51: [[5]]};
其他一切正常,预计 req.body
是 String
而不是 Object
嗯,找到了我自己的答案。不难:
var d = req.body;
>> var d = JSON.parse(req.body);
并且 d
变为 Object