Как добавить новую пару ключ-значение в 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, ...
Другие вопросы по тегам