【问题标题】:Fetch data Rowdatapacket using expressjs使用 expressjs 获取数据 Rowdatapacket
【发布时间】:2018-09-07 18:12:44
【问题描述】:

我如何使用循环来获取 rowdatapacket 中的单个值,现在我得到的结果类似于

[ RowDataPacket { id: 522, number: '111', test: 'testing' },
RowDataPacket { id: 523, number: '112', test: 'testing 2' } ]

这是我的代码

connection.query('SELECT * FROM test', function (err, rows, fields) 
    {
        if (err) throw err
        var id =rows[0].number;
        if(id!=req.body.id)
            {
                res.send("Data not exist");
            }
            else
                {
                    res.send(rows);
                }   
    })

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    您可以直接将响应视为一个数组,并像处理任何普通数组一样执行操作。

    例如,

    要获取第一个元素,请执行rows[0]

    要获取测试数据中 id 为 523 的数字,您可以这样做,

    const neededResult = rows.filter(row => row.id !== 512); // [{ id: 523, number: '112', test: 'testing 2' }]
    neededResult[0].number // 112
    

    【讨论】:

    • 如何使用循环显示所有数字
    • const numberList = rows.map(row => row.number) 一样使用 map。现在,numberList 数组将包含所有数字。
    • 我们可以使用 res.send 两次(用于显示不同的记录)还是有其他方法?
    • 不,您不能多次使用 send。您可以执行res.send({ number: numberList, text: textList }) 之类的操作,然后在前端您可以访问data.numberdata.text 之类的数据。
    • 那么如果我想在两个不同的位置显示数据,我应该怎么做?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 2018-10-14
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    相关资源
    最近更新 更多