【发布时间】:2021-12-23 09:24:16
【问题描述】:
我想在 TypeORM 中建立一个朋友系统。如果用户 A 是用户 B 的朋友,那么用户 B 也是用户 A 的朋友。不像追随者系统,这种关系只有一种方式。
这是我的用户类的一部分。
@ManyToMany(() => User, user => user.friends, {
cascade: ['insert', 'update']
})
@JoinTable({ name: 'user_friends' })
friends: User[];
这是我的桌子的样子:
当我从第一列的用户那里查询朋友时,一切正常。但是当我从第二列中的用户那里查询朋友时,它不会在第一列中显示用户。我想这种关系只是一种方式。怎么弄成两种方式?找了很久,没找到有用的解决办法。
提前感谢您的帮助!
【问题讨论】:
-
这是图形数据库的展示示例。他们总是表明关系有多么困难,而图表有多么容易。实际上,当 C 是 B 的朋友并因此是 A 的间接朋友时更多。
-
@TheFool 好的,但我现在想使用关系数据库
-
@TheFool 我不想玩间接关系。我现在只想列出用户之间的两种直接关系。
-
看看这个answer
标签: node.js typescript postgresql nestjs typeorm