javascript - 更改 knex.js json 输出的格式
问题描述
我的节点应用程序中有这个:
const query = db_connect.sequelize.knex.select([
'managers.id',
'managers.managername',
'managers.email',
'teams.teamname',
'teams.id',
db_connect.sequelize.knex.raw('COUNT(employees_managers.id)'),
]).from('managers')
.leftJoin('employees_users', 'managers.id', 'employees_managers.managers_id')
.leftJoin('teams_managers', 'managers.id', 'teams_managers.managers_id')
.leftJoin('teams', 'teams.id', 'teams_managers.teams_id')
.groupByRaw('managers.id, managers.managername, managers.email, teams.teamname');
它产生这个:
{
"managers": [
{
"id": 1,
"name": "John Doe",
"email": "johndoe@email.com",
"teamname": "Team 1",
"count": 2
},
{
"id": 1,
"name": "John Doe",
"email": "johndoe@email.com",
"teamname": "Team 2",
"count": 2
}
]
}
我想改变它的结构看起来像这样:
{
"managers": [
{
"id": 1,
"name": "John Doe",
"email": "johndoe@email.com",
"teams": [
{
"id": 1,
"name": "Team 1",
"TeamsManagers": {
"id": 1,
"managerId": 1
}
},
{
"id": 1,
"name": "Team 2",
"TeamsManagers": {
"id": 1,
"managerId": 1
}
}
]
}
]
}
如何更改 knex 响应的结构以以上述格式显示?我曾尝试查看 bookeself.js,但不确定这是否是该工作的正确工具。
解决方案
推荐阅读
- javascript - 是否可以使用 JS 从另一个 html 文件中定位 div?
- reactjs - 样式的特异性和实现的区别 -> 全局、主题、钩子、自定义 css 和内联样式
- python - 数据框样本熊猫的平均值
- swift - 如何使节点移动到您在 SpriteKit 中触摸屏幕的位置
- python - python中表格的计算问题。(简单的销售税计划)
- node.js - 'CALL "C:\Program Files\nodejs\\node.exe" 不被识别为内部命令或外部、可执行程序或命令文件
- python - 在 Scrapy 中抓取/使用 cookie
- c# - 如何将选中的列表框绑定到 C# 中的组合框?
- python - 如何更改 tkinter 标签文本以显示按键信息?
- python - 文件中不同顺序的python数字