Node.js mysql插入多个表

问题描述 投票:0回答:1

我正在使用AWS Node.js lambda函数,我试图在MySQL数据库中插入多个表。我正在使用mysql节点包。我在数据库中有两个表(标题和详细信息)。我有一个JSON对象数组,其中包含标题信息,其中包含对象内部的详细信息数组。它看起来像这样:

{
  id:1,
  name: "bob",
  detail: [salary: 50000, age: 35]
}, {
  id:1,
  name: "jane",
  detail: [salary: 60000, age: 28]
}

我需要循环遍历此数组中的每个对象并填充:

  1. 标头表(id和名称)
  2. 该标题的详细信息表(工资,年龄)

我尝试使用Node.js的标准“mysql”库,但由于connectoin.query(sql,fn)的性质,第二个参数是回调,我不知道如何将其关闭。我不知道如何使用标准的mysql库遍历标题和标题内的细节,因为.query函数需要回调而不是Promise

谢谢

mysql sql node.js
1个回答
1
投票

您可以使用nodejs utils包中的promisify实用程序将mysql(或模块中的特定函数)包装在Promise中,允许您使用async / await。像这样的东西:

    const mysql = require('mysql')
    const util = require('util')
    const pool = mysql.createPool({ ... })
    ...
    pool.query = util.promisify(pool.query)
    ...
    try {
    var result = await pool.query('SELECT * FROM users')
    } catch(err) {
        throw new Error(err)
    }
© www.soinside.com 2019 - 2024. All rights reserved.