Follow/Unfollow 功能 NestJS
Follow/Unfollow Feature NestJS
我正在尝试在我的 NestJS 应用程序中创建一个 follow/unfollow 系统。目前我有一个用户 table 和 joiner table 跟随。下面table有如下结构
关注
followerId
followingId
1
2
1
3
3
2
- followerId 创建关注的用户
- followingId 获得关注者的用户
我有两条路线 /follow,它在下面 table 中创建一条记录,而 /unfollow 从下面的 table 中删除一条记录。
我正在尝试将两个关系属性添加到 user.entity.ts
- 关注者:用户[]关注该用户的所有用户
- 正在关注:用户[] 该用户正在关注的所有用户
然后当我想在 Twitter 上像用户个人资料一样加载这些关系。
我引用了这篇文章,但它在 rails 中并且 HasMany 似乎不存在于 typeorm 中。
https://levelup.gitconnected.com/how-to-create-a-follow-unfollow-button-in-your-rails-social-media-application-e4081c279bca
您可以在 TypeORM 中使用 one-to-many 关系。在用户实体中定义关注者和关注属性,如下所示。
@OneToMany(() => Follows, follows => follows.following)
followers: Follows[];
@OneToMany(() => Follows, follows => follows.follower)
followings: Follows[];
另请注意,如果另一侧没有 ManyToOne,您将无法使用 OneToMany,因此您必须在以下实体中定义以下属性。
@ManyToOne(() => User, user => user.followers)
following: User;
@ManyToOne(() => User, user => user.followings)
follower: User;
我相信有更有效的方法,但根据您所解释的系统的其他部分,这应该可行。
有关更多信息,您可以查看 TypeORM relations 文档。
我正在尝试在我的 NestJS 应用程序中创建一个 follow/unfollow 系统。目前我有一个用户 table 和 joiner table 跟随。下面table有如下结构
关注
followerId | followingId |
---|---|
1 | 2 |
1 | 3 |
3 | 2 |
- followerId 创建关注的用户
- followingId 获得关注者的用户
我有两条路线 /follow,它在下面 table 中创建一条记录,而 /unfollow 从下面的 table 中删除一条记录。
我正在尝试将两个关系属性添加到 user.entity.ts
- 关注者:用户[]关注该用户的所有用户
- 正在关注:用户[] 该用户正在关注的所有用户
然后当我想在 Twitter 上像用户个人资料一样加载这些关系。
我引用了这篇文章,但它在 rails 中并且 HasMany 似乎不存在于 typeorm 中。 https://levelup.gitconnected.com/how-to-create-a-follow-unfollow-button-in-your-rails-social-media-application-e4081c279bca
您可以在 TypeORM 中使用 one-to-many 关系。在用户实体中定义关注者和关注属性,如下所示。
@OneToMany(() => Follows, follows => follows.following)
followers: Follows[];
@OneToMany(() => Follows, follows => follows.follower)
followings: Follows[];
另请注意,如果另一侧没有 ManyToOne,您将无法使用 OneToMany,因此您必须在以下实体中定义以下属性。
@ManyToOne(() => User, user => user.followers)
following: User;
@ManyToOne(() => User, user => user.followings)
follower: User;
我相信有更有效的方法,但根据您所解释的系统的其他部分,这应该可行。
有关更多信息,您可以查看 TypeORM relations 文档。