Javascript 如何在NodeJS中生成mysql查询结果

Javascript 如何在NodeJS中生成mysql查询结果,javascript,node.js,Javascript,Node.js,我想在NodeJS中制作mysql的结果 我想做出这样的结果 [ { "m_idx" :1 , "contents" : { "m_name" : "a", "m_name" : "b", } }, "m_idx" :2, &qu

我想在NodeJS中制作mysql的结果

我想做出这样的结果

[ 
 { 
 "m_idx" :1 ,
 "contents" :
             { 
               "m_name" : "a",
               "m_name" : "b",
             }
 },
 "m_idx" :2,
 "contents" :
             { 
               "m_name" : "c",
             }
 }
]
-----
|1|a|
|1|b|
|2|c|
-----
但我的结果是

{
        "m_idx": 1,
        "contents": [
            {
                "m_name": "a"
            }
        ]
    },
    {
        "m_idx": 1,
        "contents": [
            {
                "m_name": "b"
            }
        ]
    },
我不知道如何制造结果谁能帮我。。。? 请 这就是我练习的代码

let result = [];
    let categories = [];
    connection.query(sql, function (err, rows) {
        if (res.status(200)) {
            rows.forEach(function (row, index) {
                    let variable = {
                        m_idx: row.m_idx,
                        contents: []
                    };
                    categories.push(variable);
                    variable.contents.push({
                        m_name: row.m_name,
                        name: row.name,
                    })
            });
            res.json(categories);
        }
    });
我的数据库结果是这样的

[ 
 { 
 "m_idx" :1 ,
 "contents" :
             { 
               "m_name" : "a",
               "m_name" : "b",
             }
 },
 "m_idx" :2,
 "contents" :
             { 
               "m_name" : "c",
             }
 }
]
-----
|1|a|
|1|b|
|2|c|
-----

我猜您想要的
内容是一个数组而不是一个对象,因为同一个对象中不应该有相同的属性

也许这对你有帮助

const rows = [
  {"m_idx": 1, "m_name": "a"},
  {"m_idx": 1, "m_name": "b"},
  {"m_idx": 2, "m_name": "c"}
]

const map = new Map();
rows.forEach(row => {
  if (map.get(row.m_idx) === undefined) {
    map.set(row.m_idx, {
      "m_idx": row.m_idx,
      "contents": [{"m_name": row.m_name}]
    });
  } else {
    map.get(row.m_idx).contents.push({"m_name": row.m_name});
  }
});

const result = [];

map.forEach((v, k) => {
  result.push(v);
});

console.log(result);