有没有一种方法可以在SQLite查询中实现多个变量? (HTTP放置请求)

时间:2019-10-23 11:06:33

标签: javascript sqlite http request backend

我目前正在构建后端,并且遇到了问题: 我已经有了/ users的路由,并且想要实现一个易于使用的PUT请求。 计划是,该请求仅需包含一个唯一标识符(在我的情况下为电子邮件)和应该更改的值。

因此,如果要更新用户的描述,则发送到后端的JSON对象具有以下形式: {“电子邮件”:“ foo@bar.com”,“描述”:“更新的描述”}

如果您要更新描述和用户名,则JSON应该看起来像

{“电子邮件”:“ foo@bar.com”,“描述”:“新描述”,“用户名”:“新用户名”}

我想你明白了,我正在努力做。

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!");
  }
}

* body定义为request.body并包含JSON对象。它也可以正确解析JSON对象,我已经测试过了。

这样,我当前已设置了后端,但是如果我发送一个PUT请求,它会为每个试图更改的变量返回错误“ SQLITE_ERROR:靠近“?”:语法错误”。我知道,我可以简单地对表中的每一列运行单独的更新查询,但是有一次我试图不使用变通方法并保持灵活性:)

感谢您的所有帮助!

0 个答案:

没有答案