亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在節點js中制造mysql查詢的結果

如何在節點js中制造mysql查詢的結果

胡說叔叔 2022-11-11 16:37:49
我想在節點 js 中制造 mysql 的結果我想做出這樣的結果[  {  "m_idx" :1 , "contents" :             {                "m_name" : "a",               "m_name" : "b",             } }, "m_idx" :2, "contents" :             {                "m_name" : "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);        }    });我的數據庫結果是這樣的-----|1|a||1|b||2|c|-----
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

我猜contents你想要的是一個數組而不是一個對象,因為同一個對象中不應該有相同的屬性。


也許這會對你有所幫助。


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);


查看完整回答
反對 回復 2022-11-11
  • 1 回答
  • 0 關注
  • 87 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號