我一直在写一个为员工管理轮班的项目。 我有以下两种具有多对多关系的方案。
interface ITeam {
readonly id?: string;
name: string;
location?: Coordinate;
employees: IUser[]; }
interface IUser {
id?: string;
displayName: string;
email: string;
joinDate: Date;
teamsIds: string[];
}
我决定要向用户添加一组团队ID,因为我可以选择让用户显示与他相关的所有团队。 (以提高查询性能)。
但是这意味着将用户添加到团队中会导致两个模式的更新:
第一个在团队架构上增加了一个员工。
第二个添加了一个teamid到用户模式。
我想问一下这样管理它是否正确以及您是否有更好的解决方案