首页 > 解决方案 > 带 Mysql 的节点:如何同时插入行值和嵌套数组?

问题描述

我有一个节点服务器将数据请求发布到启动并运行的 mysql 数据库。我试图弄清楚如何发布一行包含一个列数据类型 JSON 的数据,目的是插入一个嵌套数组。如果可能的话,我怎样才能在一个陈述中实现这个概念?下面我有一些代码片段应该涵盖这个请求的范围:

数组(来自 React 状态)

menuItems: [
                {
                    "id": 1234,
                    "item_name": 'burger',
                    "category_id": 'meal',sauce',
                    "condiments": [{ id: 1, value: "ketchup sauce", isChecked: false },{ id: 2, value: "hot sauce", isChecked: false }],
                    "price": 6
                },
                {
                    "id": 1235,
                    "item_name": 'hot dog',
                    "category_id": 'meal',
                    "condiments": [{ id: 1, value: "ketchup sauce", isChecked: false },{ id: 2, value: "hot sauce", isChecked: false }],
                    "price": 6
                }
            ],

节点

app.post('/addMenuItem',  cors(), (req, res) => {
    
      //ASSUMING values are coming in from a request
      var values = {
        id: req.query.id,
        item_name: req.query.item_name,
        category_id: req.query.category_id,
        condiments: req.query.condiments,
        price: req.query.price,
       }

    
       //TYPICALLY I DO SOMETHING LIKE THIS BUT NOT SURE HOW TO HANDLE THE NEST
       var sql = 'INSERT INTO menu_item SET ?';


       // now the createStudent is an object you can use in your database insert logic.
       pool.query(sql, function (err, results) {
        if(err) {
            console.log(err)
            return res.send(err)
            
        } else {
            console.log(results)
            return res.json({
                data: results
            })
        }
    });
});

标签: javascriptmysqlnode.jsreactjsfetch

解决方案


推荐阅读