Как добавить новую пару ключ-значение в CouchDB с помощью Cradle? Node.js
У меня есть документ в моей базе данных 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 ответ
Решение
Это просто проблема с Javascript - не из-за Cradle. Вы не можете сделать это, чтобы установить динамически названную опору:
{
req.body.key: req.body.value
}
Вам нужно будет сделать это так:
var temp = {}
temp[req.body.key] = req.body.value
db.merge('document', temp, ...