0

我的 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 之间的 (.)。

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

4

1 回答 1

1

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

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

你需要这样做:

var temp = {}
temp[req.body.key] = req.body.value
db.merge('document', temp, ...
于 2013-03-10T03:59:11.780 回答