首页 > 解决方案 > 我需要有两个基于表列分组的数组响应,以便计数组对应于它的行

问题描述

const { count, rows } = await db.Transfer.findAndCountAll({
    where,
    limit,
    ...(flag1 ? { include: _bulkGet } : {}),
    ...(flaf1 ? { group: ['END_ID'] } : {}),
    offset
  });
  return { count, rows: rows.map(v => json.toCamelCase(v.get({ plain: true }))) };
};

响应类似于

"isError":false,"body":{"count":[{"count":8},{"count":2},{"count":22},{"count":1},{"count":1},{"count":1}

"rows":[{"id":788284,"bulkTransferId":"kraiphkp-7g4u_07-19","TransferId":"21A7A7WE3KMEM","type":"in-progress","pCount":1,"AgentId":null,"AgentId":null,"ManagerId":null,"tripId":null,"startId":8,"endHubId":7,"status":"bulk-created","lifecycleStatus":"running","createdById":347502,"createdAt":"2021-07-19T11:01:29.000Z","updatedAt":"2021-07-19T11:01:29.000Z","endHub":{"id":7,"hubName":"hub123","status":"active"}
{"id":788237,"bulkTransferId":"kr968hem-c75v_07-18","secondaryBulkTransferId":"21A125MO3IV6N","type":"line-haul-in-progress","parcelCount":1,"transferAgentId":null,"receivingAgentId":null,"lineHaulManagerId":null,"tripId":null,"startHubId":8,"endHubId":10,"status":"bulk-created","lifecycleStatus":"running","createdById":569155,"createdAt":"2021-07-18T12:24:34.000Z","updatedAt":"2021-07-18T12:24:34.000Z","endHub":{"id":10,"hubName":"Sylhet Hub","status":"active"}

但我希望{"count":8}下一个响应是与它对应的所有 8 行。

像这样

“PayLoad”: [
            {
                "count": 9
            },
"rows": [
            {
            },
           {}.
           {},
            .
            .
]

           {
                "count": 2
            },
           "rows": [
            {
            },
           {}.
]

请帮助我,我是打字稿的新手。

标签: node.jstypescriptsequelize.js

解决方案


推荐阅读