2***@qq.com
2***@qq.com
  • 发布:2021-06-07 19:39
  • 更新:2021-06-08 14:23
  • 阅读:1551

uniCloud如何实现tree树形结构深度查询?

分类:uniCloud

表结构如下:

"properties": {  
        "_id": {  
            "description": "ID,系统自动生成"  
        },  
        "name":{  
            "description":"分组名称"  
        },  
        "p_id":{  
            "description":"父级分组ID"  
        }  
    }  

数据如下:

[{  
        "_id": {  
            "$oid": "60bdda2d5e31f5000165a72c"  
        },  
        "name": "系统管理"  
    },  
    {  
        "_id": {  
            "$oid": "60bdda3d9056cd0001f69c9d"  
        },  
        "name": "网站管理"  
    },  
    {  
        "_id": {  
            "$oid": "60bdda64acc1cf000110c49a"  
        },  
        "name": "开机管理",  
        "p_id": {  
            "$oid": "60bdda2d5e31f5000165a72c"  
        }  
    }  
]

如何实现返回如下结构:

[{  
    "_id": "60bdda2d5e31f5000165a72c",  
    "name": "系统管理",  
    "children": [{  
        "_id": "60bdda64acc1cf000110c49a",  
        "name": "开机管理",  
        "p_id": "60bdda2d5e31f5000165a72c"  
    }]  
}, {  
    "_id": "60bdda3d9056cd0001f69c9d",  
    "name": "网站管理",  
    "children": []  
}]
2021-06-07 19:39 负责人:DCloud_uniCloud_WYQ 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

如果使用clientDB可以直接使用getTree,如果在云函数内,可以自行拼接lookup(lookup+pipeline)也能查出来这种结构。也可以查询出来全部数据后自行组装树形结构

  • 小蒋同学

    lookup(lookup+pipeline)只能查下一级吧?能查无限级吗?如何操作?

    2021-12-24 20:48

  • DCloud_uniCloud_WYQ

    回复 m***@qq.com: 不能无限级但是pipeline内还可以使用lookup方法,从而能实现嵌套多层

    2021-12-24 20:58

该问题目前已经被锁定, 无法添加新回复