Node.js nestjs处理重复用户异常的最佳方法是什么?

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

我是一名前端开发人员,为我的小型项目后端启动nest。 我正在尝试编写一个用户注册模块,我想检查一下我的MongoDB,看看我们的DB中是否已经有一个拥有当前电话号码的用户

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'})