Mysql 在nodejs postgresql(sequelize js)中显示类别、子类别及其子类别层次结构树

Mysql 在nodejs postgresql(sequelize js)中显示类别、子类别及其子类别层次结构树,mysql,node.js,postgresql,express,sequelize.js,Mysql,Node.js,Postgresql,Express,Sequelize.js,我的数据库如下: id |姓名|家长id 1 |类别1 |空 2 |类别2 | 1 3类2 我的预期产出是 { id:1, name:"Cate1", parentId:null, subCate:[ { id:2, name:"Cate2", parentId:1, subCate:[ { id:3, name:"Cate3", par

我的数据库如下:


id |姓名|家长id

1 |类别1 |空

2 |类别2 | 1

3类2


我的预期产出是

{
  id:1,
  name:"Cate1",
  parentId:null,
  subCate:[
   {
     id:2,
     name:"Cate2",
     parentId:1,
     subCate:[
           {
            id:3,
            name:"Cate3",
            parentId:2,
            subCate:[]
           }
         ]
   }
  ]
} 
等等

那么如何得到这个结果呢。

函数getNestedChildren(arr,parentId){ var out=[] 用于(arr中的var i){ if(arr[i].parentId==parentId){ var children=getNestedChildren(arr,arr[i].id) if(儿童长度){ arr[i].subCate=children } 向外推(arr[i]) } } 返回 } log(JSON.stringify(getNestedChildren([ {id:1,名称:'edwd',parentId:null}, {id:2,名称:'ttt',parentId:null}, {id:3,名称:'ooo',parentId:1}, {id:4,名称:'ppp',父id:3}, {id:5,名称:'lll',父id:4}, {id:6,name:'mmm',parentId:4}, {id:7,名称:'nnn',父id:3}, {id:8,名称:'zzz',父id:2} ],null)) 函数getNestedChildren(arr,parentId){ var out=[] 用于(arr中的var i){ if(arr[i].parentId==parentId){ var children=getNestedChildren(arr,arr[i].id) if(儿童长度){ arr[i].subCate=children } 向外推(arr[i]) } } 返回 } log(JSON.stringify(getNestedChildren([ {id:1,名称:'edwd',parentId:null}, {id:2,名称:'ttt',parentId:null}, {id:3,名称:'ooo',parentId:1}, {id:4,名称:'ppp',父id:3}, {id:5,名称:'lll',父id:4}, {id:6,name:'mmm',parentId:4}, {id:7,名称:'nnn',父id:3}, {id:8,名称:'zzz',父id:2}
],null))您尝试了什么?您是否也可以粘贴示例输入?示例输入???输入数组,该数组将产生预期的输出{id:1,名称:“Cate1”,parentId:null,subCate:[{id:2,名称:“Cate2”,parentId:1,}]},{id:2,名称:“Cate2”,parentId:null,subCate:[{id:3,名称:“Cate3”,parentId:2,}]},{id:3,名称:“Cate3”,parentId:2,subCate:[]},您尝试了什么?您也可以粘贴您的示例输入吗?示例输入???输入数组将产生预期的输出{id:1,名称:“Cate1”,parentId:null,subCate:[{id:2,名称:“Cate2”,parentId:1,}]},{id:2,名称:“Cate2”,parentId:null,子类别:[{id:3,名称:“Cate3”,parentId:2,}]},{id:3,名称:“Cate3”,parentId:2,子类别:[]},