sql - Nodejs - 从ajax响应更新多个表
问题描述
我是 Nodejs 的新手,正在尝试使用从 ajax 发送的 JSON 更新 Nodejs 中的两个后端表(使用来自 Node 的 req.body)。我的 ajax 发布请求的输出在 Nodejs 上有两个对象 modifiedData(更新实体表)和 modified_metadata(更新元数据表)。我在下面的 Nodejs 发布请求中添加了 res.body 的输出。
我现在面临的问题 - modifiedData 对象中的所有键都是一个列值(例如 - entity_id,entity_type 是后端表中的列),我能够编写更新查询来编辑这些字段。但是,对于 modified_metadata 对象,键和值都是元数据表中的行(对于列 - column_name、column_description)。我还没有找到使用下面的 JSON 输出更新元数据表中的列描述的解决方案。
JSON 输出(console.log(res.body) 的输出):
[Object: null prototype] {
'modifiedData[entity_id]': '10001',
'modifiedData[entity_type]': 'INTERNAL TABLE',
'modifiedData[db_user]': 'johnman',
'modifiedData[external_table_location]': '',
'modifiedData[entity_owner]': 'johnman',
'modifiedData[order_date]': '2021-01-01',
'modifiedData[order_id]': '2332',
'modifiedData[product]': '4324',
'modifiedData[status]': 'ACTIVE',
'modifiedData[latest_refresh_column]': 'snapshot_date',
'modifiedData[entity_description]': 'Description of 10001',
'modified_metadata[order_date]': '2021-01-01',
'modified_metadata[order_id]': '2332',
'modified_metadata[product]': '4324'
}
更新实体表的 SQL:
let update_sql = "Update entities SET status = '" + req.body.status + "', entity_owner = '" + req.body.entity_owner + "', entity_description = '" + req.body.entity_description + "', latest_refresh_column = '" + req.body.latest_refresh_column + "';
let query2 = pool2.query(update_sql,(err, rows) => {
if(err){
console.log(err)
} else {
console.log(update_sql)
}
});
});
更新后的预期输出 - 实体表(现在工作)
entity_id entity_type db_user external_table_location entity_owner...
10001 INTERNAL TABLE johnman johnman
更新我正在尝试为元数据表完成:
let update_sql = "Update metadata SET column_description = [VALUE FROM MODIFIEDMETADATA OBJECT] where column_name = [KEY FROM MODIFIEDMETADATAOBJECT] AND ENTITY_ID = MODIFIEDDATA[entity_id]
预期输出 - 元数据表(无法弄清楚):
Entity_id Column_name Column Description
10001 order_date 2021-01-01
10001 order_id 2332
10001 product 4324
解决方案
推荐阅读
- c - 字符串的内存分配
- python - 多级属性?
- python - 操作数应该只包含一列错误 - to_sql() python mysql
- python - 如何在 python aws lambda 多处理中传递大量内存
- amp-html - AMP 页面不支持我的页面中的 line-clamp 属性。请建议
- python - 通过网状在R中安装Python模块时出错
- javascript - 在 JavaScript 中,如何创建一个接受两个数字和一个数学运算符 + - / * 使用给定数字执行计算的函数
- r - Geom_Text removes geom_bar in ggplot2 R
- node.js - Performance between local database and cloud database
- clojurescript - 为什么 let-defined atom 会提供不同的结果?