Node.js nestjs处理重复用户异常的最佳方法是什么?
我是一名前端开发人员,为我的小型项目后端启动nest。 我正在尝试编写一个用户注册模块,我想检查一下我的MongoDB,看看我们的DB中是否已经有一个拥有当前电话号码的用户Node.js nestjs处理重复用户异常的最佳方法是什么?,node.js,mongodb,error-handling,nestjs,Node.js,Mongodb,Error Handling,Nestjs,我是一名前端开发人员,为我的小型项目后端启动nest。 我正在尝试编写一个用户注册模块,我想检查一下我的MongoDB,看看我们的DB中是否已经有一个拥有当前电话号码的用户 async addUser(createUserDTO: CreateUserDTO): Promise<IUser> { const UserWithSamePhoneNumberList: IUser[] = await this.findUserByPhoneNumber(createUs
async addUser(createUserDTO: CreateUserDTO): Promise<IUser> {
const UserWithSamePhoneNumberList: IUser[] = await
this.findUserByPhoneNumber(createUserDTO.phoneNumber);
if(UserWithSamePhoneNumberList.length > 0) {
console.log("repeative phone number");
}
const hash:string = await bcrypt.hash(createUserDTO.password, this.saltRounds);
const userDTo: CreateUserDTO = {
name: createUserDTO.name,
password: hash,
phoneNumber: createUserDTO.phoneNumber,
signupDate: new Date().toString()
};
const newUser: any = new this.userModel(userDTo);
return newUser.save();
}
async findUserByPhoneNumber(phoneNumber:string): Promise<IUser[]> {
return this.userModel.find({phoneNumber:phoneNumber});
}
异步addUser(createUserDTO:createUserDTO):承诺{
const UserWithSamePhoneNumberList:IUser[]=wait
this.findUserByPhoneNumber(createUserDTO.phoneNumber);
if(UserWithSamePhoneNumberList.length>0){
控制台日志(“重复电话号码”);
}
const hash:string=await bcrypt.hash(createUserDTO.password,this.saltRounds);
const userDTo:CreateUserDTO={
名称:createUserDTO.name,
密码:hash,
phoneNumber:createUserDTO.phoneNumber,
signupDate:new Date().toString()
};
const newUser:any=newthis.userModel(userDTo);
返回newUser.save();
}
异步findUserByPhoneNumber(电话号码:字符串):承诺{
返回this.userModel.find({phoneNumber:phoneNumber});
}
我编写了代码,它成功地记录了
repeative phone number
,但我的问题是,我不知道引发repeative phone number异常并向客户端发送标准响应的标准方法是什么您可以简单地引发异常,nest将自动附加正确的状态代码
if(UserWithSamePhoneNumberList.length > 0) {
throw new ConflictException({errorObject})
}
throw new throw new ConflictException({statusCode:HttpStatus.Cobnflict,message:'repetive phone number'})