簡體   English   中英

將Node.js MySQL插入多個表

[英]Node.js mysql insert into multiple tables

我正在使用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

謝謝

您可以使用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)
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM