首页 > 解决方案 > 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

标签: sqlnode.jsjsonajax

解决方案


推荐阅读