如何使用 Node.js 中的 MySQL 查询更新 MySQL 数据库中的 JSON 记录?

Aja*_*ani 5 javascript php mysql json node.js

我得到的 JSON 结构类似于这个问题

 var data = {
type: "binary",
choices: [
{
     choice: "No",
     answers: 18
},
{
     choice: "Yes",
     answers: 11
}
   ],
    tags: {
     2851: "road",
     8685: "had",
     10978: "heard"
    }
};
Run Code Online (Sandbox Code Playgroud)

我发现使用 MySQL 查询和 Node.js 在同一问题的回答中插入了 json 记录。

是的,我可以通过获取整个记录、更新记录并用更新的记录替换旧记录来更新此记录。

但是这里我的问题是“我可以在不下载完整 json 的情况下更新数据库中的这些 json 记录并根据 JSON 中的一个键更新这些记录吗?”

注意:这只是演示目的:如果我的名称是 jsonData

 "Update tableName set jsonData.choices.answers = 20 where data.choices.choice = 18 and id = 1";    
Run Code Online (Sandbox Code Playgroud)

希望您了解我基于一个键更新 JSON 记录一个值的场景。

任何概念性建议都会受到赞赏,如果有演示代码,那将非常有帮助。

the*_*h13 0

Json 解码数据,将其转换为数组,访问数组元素并附加到查询:

$a = json_decode($data);
"Update tableName set".$a->col1." =20......."
Run Code Online (Sandbox Code Playgroud)

PHP 的 json_decode 函数接受 JSON 字符串并将其转换为 PHP 变量。通常,JSON 数据将表示 JavaScript 数组或对象文字,json_decode 将其转换为 PHP 数组或对象。

http://www.dyn-web.com/tutorials/php-js/json/decode.php