javascript - 遍历这个结构?
问题描述
我在 PostgreSQL 中有以下查询:
select bookings."memberId" from bookings
join "memberConnections" mbc on bookings."memberId" = mbc."memberId"
join shifts shf on shf.id = bookings."shiftId"
where bookings.state = 'WAITING_LIST' and (mbc.state = 'LOCKED' or mbc.state = 'REMOVED')
and shf."startTime" > CURRENT_TIMESTAMP;
我将它导入一个文件,然后通过一个名为 Knex.js 的库处理数据
当我运行它并控制台记录查询时,我得到以下结构:
USER_STATE: Result {
command: 'SELECT',
rowCount: 32,
oid: NaN,
rows:
[ anonymous { memberId: 1800 },
anonymous { memberId: 15476 },
anonymous { memberId: 15476 },
anonymous { memberId: 15476 },
anonymous { memberId: 12553 },
anonymous { memberId: 12553 },
anonymous { memberId: 19668 },
anonymous { memberId: 19668 },
anonymous { memberId: 21004 },
anonymous { memberId: 21004 },
anonymous { memberId: 21004 },
anonymous { memberId: 21004 },
anonymous { memberId: 16105 },
anonymous { memberId: 14927 },
anonymous { memberId: 15476 },
anonymous { memberId: 12553 },
anonymous { memberId: 12553 },
anonymous { memberId: 12553 },
anonymous { memberId: 12553 },
anonymous { memberId: 17923 },
anonymous { memberId: 17273 },
anonymous { memberId: 12553 },
anonymous { memberId: 12553 },
anonymous { memberId: 19429 },
anonymous { memberId: 17312 },
anonymous { memberId: 17273 },
anonymous { memberId: 15476 },
anonymous { memberId: 15476 },
anonymous { memberId: 15476 },
anonymous { memberId: 15476 },
anonymous { memberId: 15476 },
anonymous { memberId: 19634 } ],
fields:
[ Field {
name: 'memberId',
tableID: 22531,
columnID: 3,
dataTypeID: 23,
dataTypeSize: 4,
dataTypeModifier: -1,
format: 'text' } ],
_parsers: [ [Function: parseInteger] ],
RowCtor: [Function: anonymous],
rowAsArray: false,
_getTypeParser: [Function: bound ] }
这几乎是我需要的,但是,我只需要 memberId 数据,有什么办法可以通过它进行映射以仅取回 memberId 属性?
我已经尝试过了,但它似乎不起作用:
const users = userState.map(users => ({
memberId: memberId;
}))
解决方案
您需要先将该结构转换为有效的 JSON。然后,您可以根据
userState.rows
需要进行处理。
这是您将knex.js响应转换为 JSON 的参考。
这是一个使用有效 JSON 的工作示例 -
var userState = {
rows:
[{ memberId: 1800 },
{ memberId: 15476 },
{ memberId: 15476 },
{ memberId: 12553 },
{ memberId: 12553 },
{ memberId: 19668 },
{ memberId: 19668 },
{ memberId: 21004 },
{ memberId: 21004 },
{ memberId: 19634 }],
fields:
[{
name: 'memberId',
tableID: 22531,
columnID: 3,
dataTypeID: 23,
dataTypeSize: 4,
dataTypeModifier: -1,
format: 'text'
}]
};
var data = userState.rows.map((users, index) =>
users.memberId
);
console.log(data);
推荐阅读
- android - Cloud Firestore 更新
- hybris - 为 Hybris Gallery 图像生成器和 Image Magic 创建图像衍生品
- c++ - c ++:具有动态大小的指针浮点类型数组
- qt - CMake & QT5 & Conan // CMAKE_AUTOUIC 不生成ui头文件
- c# - 无法将 PowerPoint 的特定文件粘贴到新文件中
- asp.net-mvc-5 - 在 MVC 中使用 Free jqgrid 4.15.4 导出到 Excel 过滤数据
- d - dql查询查找所有属性
- android - 用openCV加减法
- javascript - 页面刷新 Javascript
- bash - if 语句使用“sed”设置变量不起作用