从react native和node js在mySQL数据库中插入多条记录

从react native和node js在mySQL数据库中插入多条记录,mysql,node.js,reactjs,react-native,Mysql,Node.js,Reactjs,React Native,我有一个发票应用程序,您可以将许多产品添加到同一发票(账单) 在mySQL中,我有一个products表,我想在其中添加我在发票中添加的每个产品。 我已成功地将所有产品保存在一个阵列中 Array [ Object { "amt": "1", "desc": "Item1", "index": 0, "qty": "1",

我有一个发票应用程序,您可以将许多产品添加到同一发票(账单) 在mySQL中,我有一个products表,我想在其中添加我在发票中添加的每个产品。 我已成功地将所有产品保存在一个阵列中

Array [
  Object {
    "amt": "1",
    "desc": "Item1",
    "index": 0,
    "qty": "1",
  },
  Object {
    "amt": "2",
    "desc": "Item2",
    "index": 1,
    "qty": "2",
  },
  Object {
    "amt": "3",
    "desc": "Item3",
    "index": 2,
    "qty": "3",
  },
  Object {
    "amt": "4",
    "desc": "Item4",
    "index": 3,
    "qty": "4",
  },
]
单击按钮,我想发送一个api,在mySQL的表中插入数据

 app.post("/addproducts", (req, res) => {
      let product= req.body;
      var sql =
        "INSERT INTO products (amt, desc, qty, invoiceId) VALUES(?, ?, ?, ?);";
      mysqlConnection.query(
        sql,
        [
          product.invoiceId,
          product.amt,
          product.desc,
          product.qty,
        ],
        (err, rows, fields) => {
          if (!err) {
            res.send(rows);
            });
          } else {
            res.send(err);
          }
        }
      );
    });
如何修复api以逐个遍历数组并将所有产品插入表中

备注:发票id是产品表中的外键(不要介意)

这是来自前端的post api


如何映射数据数组(我在开始时显示)并逐个发送对象?

使用嵌套数组可以进行批量插入

在您的情况下,数据应如下所示:

var sql =
    "INSERT INTO products (amt, desc, qty, invoiceId) VALUES(?, ?, ?, ?);";

let values = [
  ['1', 'Item1', '0', '1'],
  ['2', 'Item2', '1', '2'],
  ...
]

mysqlConnection.query(sql, values, ...)

(关心字段顺序)

某种循环似乎是一个很可能的起点是的,但是我如何将数据从前端发送到后端?您能帮我吗?您的问题没有提到。你的问题要更准确,我会帮你的。这里没有必要在堆栈溢出的私有消息。堆栈溢出不是论坛或社交网络。这是Q&AThis edit正在添加另一个不相关的问题,您应该将其添加到另一个线程中,因为它与向MySQL插入多个记录没有任何关系
var sql =
    "INSERT INTO products (amt, desc, qty, invoiceId) VALUES(?, ?, ?, ?);";

let values = [
  ['1', 'Item1', '0', '1'],
  ['2', 'Item2', '1', '2'],
  ...
]

mysqlConnection.query(sql, values, ...)