Я создаю экспресс-приложение с использованием typeORM, чтобы помочь сопоставить мои объекты с моей базой данных.Я хочу создать систему последователей.У меня есть базовый макет моего объекта User, как показано ниже.Тем не менее, это создает две таблицы соединения.Я хотел бы иметь только одну таблицу, которая идет по линии 'user_follows_user', где userId_1 следует userId_2.Я хотел бы иметь возможность вести учет количества подписчиков и количества подписчиков для каждого пользователя.Это возможно?Я все еще не до конца понимаю, что даже происходит в моем коде.
import { Entity, PrimaryGeneratedColumn, Column, ManyToMany, JoinTable, RelationCount } from 'typeorm';
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
firstName: string;
@Column()
lastName: string;
@Column()
email: string;
@Column()
password: string;
@Column()
bio: string;
@ManyToMany( type => User, user => user.followers )
@JoinTable()
following: User[]
@ManyToMany( type => User, user => user.following )
@JoinTable()
followers: User[]
@RelationCount((user: User) => user.followers)
followersCount: number;
@RelationCount((user: User) => user.following)
followingCount: number;
}
После запуска моего кода моя схема базы данных выглядела так: https://imgur.com/XfXjfGq
Как указано выше, я чувствуюнужно только для одного стола.Хотя я открыт для других разумных схем для системы подписчиков, использующих этот ORM.