如何使用Cradle向CouchDB添加新的键值对? Node.js的

时间:2013-03-10 03:49:28

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

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

有没有人对如何处理这方面有任何好的指示?到目前为止,摇篮一直对我很好,但这似乎比它应该更难!

1 个答案:

答案 0 :(得分:1)

这只是一个Javascript问题 - 由于Cradle没什么。您不能这样做来设置动态命名的prop:

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

你需要这样做:

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