在javascript中连接从SQL返回的结果

在javascript中连接从SQL返回的结果,javascript,node.js,Javascript,Node.js,我的SQL查询返回如下结果: 我有两个表,Users和Category,其中Category使用用户表(id)中的外键(userID) 但我想将结果显示如下: [ { "userTime": "14:00", "id": 1, "name": "Jack", Category: [ {

我的SQL查询返回如下结果:
我有两个表,Users和Category,其中Category使用用户表(id)中的外键(userID

但我想将结果显示如下:

        [
            {
                "userTime": "14:00",
                "id": 1,
                "name": "Jack",
                Category: [
                    {
                        id: 11,
                        name: "Category1",
                        userID: 1
                    },
                    {
                        id: 12,
                        name: "Category2",
                        userID: 1
                    }               
                ]
            }
        ]

我使用冗长的Nodejs和Nodejs来查询sqldb,如何使用Nodejs或javascript实现上述结果

另一种方法是使用函数
Array.prototype.reduce

这种方法使用变量
group
来放置必要的属性/键来构建分组键

var数组=[{“userTime”:“14:00”,“id”:1,“name”:“Jack”,“Category.id”:11,“Category.name”:“Category1”,“Category.userID”:1},{“userTime”:“14:00”,“id”:1,“name”:“Jack”,“Category.id”:12,“Category.name”:“Category2”,“Category.userID”:1},
组=['id'],
结果=对象.值(数组.减少((a,c)=>{
var key=group.map(g=>c[g]).join(“|”);
(a[key]| |(a[key]={userTime:c.userTime,id:c.id,name:c.name,Category:[]})).Category.push({id:c['Category.id'],name:c['Category.name'],userID:c.id});
返回a;
}, {}));
控制台日志(结果)

。作为控制台包装{max height:100%!important;top:0;}
我没有投反对票,无论如何谢谢你的帮助:)
        [
            {
                "userTime": "14:00",
                "id": 1,
                "name": "Jack",
                Category: [
                    {
                        id: 11,
                        name: "Category1",
                        userID: 1
                    },
                    {
                        id: 12,
                        name: "Category2",
                        userID: 1
                    }               
                ]
            }
        ]