【问题标题】:How do I add a new key-value pair to CouchDB using Cradle? Node.js如何使用 Cradle 向 CouchDB 添加新的键值对?节点.js
【发布时间】:2013-03-10 03:49:28
【问题描述】:

我的 CouchDB 数据库中有一个文档,我想向其中添加一个新的键值对。我正在使用 Cradle 与数据库 (https://github.com/cloudhead/cradle) 进行通信,但是,如果我尝试使用不存在的字段对其进行更新,则会出现错误。我的文档是这样布局的:

{
 "_id": "document",
 "_rev": "some_revision",
 "key1": "index.html",
 "key2": "hows.html",
 "key3": "about.html"
}

我尝试使用的代码如下所示:

db.merge('document', {
        req.body.key: req.body.value
      }, function (err, res) {
        console.log('added to document')
    });

我得到的错误如下所示:

SyntaxError: Unexpected token .

引用 req.body 之间的 (.)。

有人对如何处理这个问题有任何好的指导吗?到目前为止,摇篮对我来说一直很棒,但这似乎比应有的困难!

【问题讨论】:

    标签: javascript node.js couchdb couchdb-futon cradle


    【解决方案1】:

    这只是一个 Javascript 问题 - 与 Cradle 无关。您不能这样做来设置动态命名的道具:

      {
        req.body.key: req.body.value
      }
    

    你需要这样做:

    var temp = {}
    temp[req.body.key] = req.body.value
    db.merge('document', temp, ...
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多