Есть ли способ реализовать несколько переменных в SQLite Querys? (HTTP Put Request) - PullRequest
0 голосов
/ 23 октября 2019

Я сейчас нахожусь в процессе создания бэкэнда и застрял в проблеме: у меня есть маршрут / пользователи и я хочу реализовать простой в использовании запрос PUT. План состоит в том, что запрос должен содержать только уникальный идентификатор (в моем случае - адрес электронной почты) и значения, которые должны быть изменены.

Так что, если вы хотите обновить описание пользователя, JSON-Объект, отправляемый на сервер, имеет форму {"email": "foo@bar.com", "description": "обновленное описание"}

Если вы хотите обновить описание и имя пользователя,JSON должен выглядеть следующим образом:

{"email": "foo@bar.com", "description": "new description", "username": "new_username"}

Я думаю, вы получите, что я пытаюсь сделать.

for(var key in body) {
  if (key!="email") {
    console.log("Key: "+key);
    console.log("Body: "+body[key]);
    db.run(`update users set ?=? where email=?`,[key,body[key],email], (err) => {
      if (err) {
        console.log(err.message);
      }          
    });
    console.log("Change!");
  }
}

* тело определяется как request.body и содержит объект JSON. Он также правильно анализирует объект JSON, я это уже проверял.

Таким образом, у меня в настоящий момент настроен сервер, но если я отправляю запрос PUT, он возвращает ошибку «SQLITE_ERROR: near»? ": синтаксическая ошибка" для каждой переменной, которую я пытаюсь изменить. Я знаю, что мог бы просто выполнить отдельный запрос на обновление для каждого столбца в таблице, но на этот раз я пытаюсь не использовать обходной путь и оставаться гибким:)

Спасибо за всю вашу помощь!

...