【问题标题】:Couchdb _design/doc/_update/push not working as objectCouchdb _design/doc/_update/push 不能作为对象工作
【发布时间】: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.bodyString 而不是 Object

【问题讨论】:

    标签: javascript json couchdb couchapp


    【解决方案1】:

    嗯,找到了我自己的答案。不难:

    var d = req.body; >> var d = JSON.parse(req.body);d 变为 Object

    【讨论】:

    • 是的。常见的错误。 :) req.body 值可以是任何东西——不仅仅是 JSON——所以 CouchDB 不会自动解析它。很高兴你修好了!
    猜你喜欢
    • 1970-01-01
    • 2016-03-31
    • 2014-07-08
    • 2016-10-09
    • 2011-02-01
    • 2023-03-29
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    相关资源
    最近更新 更多