【发布时间】:2020-05-05 21:25:23
【问题描述】:
所以我有一个餐桌团队
团队(id,名称,parentId)。
我的桌队如下:
id name parentId
1 root null
2 child1 1
3 child2 2
所以,我有 teamId= 1 我可以在 parentId 的帮助下获得 teamId 1 的团队以及 teamId 1 的子团队。但是是否有可能获得 child2 因为它是 child1 的子孩子,它是 root 的孩子,即 teamId 1,只有 teamId 信息? 或者为了更容易,是否需要以不同的方式创建表,例如具有多对多关系的 Teams、Subteams 和 TeamSubteam?
Team.find({
where: {
or: [{
id: teamId
}, {
parentId: teamId
}]
},
fields: ['id']
}, function (err, teams) { });
【问题讨论】:
-
用您正在使用的特定数据库标记您的问题。递归查询,如:stackoverflow.com/questions/1757370/…
-
您可以考虑使用此处解释的闭包表 - stackoverflow.com/a/38701519/5962802
标签: sql postgresql hierarchical-data