How to check if that data already exist in the database during update (Mongoose And Express)

后端 未结 8 1880
灰色年华
灰色年华 2020-12-05 00:28

How to do validations before saving the edited data in mongoose?

For example, if sample.name already exists in the database, the user will receive a som

8条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-05 00:33

    check with one query if email or phoneNumber already exists in DB

    let userDB = await UserS.findOne({ $or: [
      { email: payload.email },
      { phoneNumber: payload.phoneNumber }
    ] })
    
    if (userDB) {
      if (payload.email == userDB.email) {
        throw new BadRequest({ message: 'E-mail already exists' })
      } else if (payload.phoneNumber == userDB.phoneNumber) {
        throw new BadRequest({ message: 'phoneNumber already exists' })
      }
    }
    

提交回复
热议问题