我的CouchDB数据库中有一个文档,我想添加一个新的键值对。我正在使用摇篮与DB (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问题-与Cradle无关。你不能这样设置一个动态命名的prop:
{
req.body.key: req.body.value
}
你需要这样做:
var temp = {}
temp[req.body.key] = req.body.value
db.merge('document', temp, ...