pet*_*ann 6 javascript mysql json node.js
我想从我的数据库中获取一些数据。例子:
getCarIds: function (callback) {
db.query("SELECT Id FROM Cars;",
function (err, result) {
if (err) throw err;
result = JSON.stringify(result);
var cars = [];
for (var i = 0; i < result.length; i++) {
var currentCar = result[i];
var carId = currentCar.id;
cars.push(carId);
}
callback(cars);
});
}
Run Code Online (Sandbox Code Playgroud)
我想将所有 id 存储到一个数组中。喜欢
cars = [1,2,3,4,5];
Run Code Online (Sandbox Code Playgroud)
结果返回这个
[ RowDataPacket { Id: '1' },
RowDataPacket { Id: '2' },
RowDataPacket { Id: '3' } ]
Run Code Online (Sandbox Code Playgroud)
所以我尝试通过写作来转换它
result = JSON.stringify(result);
Run Code Online (Sandbox Code Playgroud)
这还给我
[{"Id":"1"},{"Id":"2"},{"Id":"3"}]
Run Code Online (Sandbox Code Playgroud)
当我想通过写入访问此对象时
result[0]
我得到
[
如此明显
result[0].id
Run Code Online (Sandbox Code Playgroud)
将返回
undefined
Run Code Online (Sandbox Code Playgroud)
如何从对象中获取所有 ID?
Zac*_*aad 11
假设您有一个RowDataPacket
来自 mysql的结果数组,名为results
. 您可以使用 Object.assign()。例如,如果您想将第一个元素转换为常规对象:
var normalObj = Object.assign({}, results[0]);
Run Code Online (Sandbox Code Playgroud)
或者,如果您想将整个数组转换为普通对象:
var normalResults = results.map((mysqlObj, index) => {
return Object.assign({}, mysqlObj);
});
Run Code Online (Sandbox Code Playgroud)
或更紧凑的语法:
results = results.map(v => Object.assign({}, v));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14677 次 |
最近记录: |