嘿,我有一个用户模式,其中包含唯一电子邮件:
@Schema()
export class User {
@Prop()
firstName!: string;
@Prop()
lastName!: string;
@Prop({
unique: true,
})
email!: string;
@Prop({ nullable: true })
password?: string;
}
但现在我想扩展这个功能。我想要有自己用户的群组。我会创建一个群组集合,并将其ID添加到用户中,例如:
@Schema()
export class User {
@Prop()
groupId: string;
@Prop()
firstName!: string;
...
}
每个组的电子邮件应该是唯一的。这意味着在用户集合中可能存在重复的电子邮件,但它们应该通过命名为 Unique Compound Index 的组是唯一的。
我如何在NestJS中设置这个?
UserSchema.index({groupId: 1, firstName: 1}, {unique: true, message: "用户重复错误"});
- buryo