mongoose在数据更新时没有做校验

来源:10-4 RESTful API 最佳实践——字段过滤

owlism

2020-04-29

比如在UserSchema里定义了这样一个字段

// .............
 gender: {
    type: String,
    enum: ['male', 'female'],
    default: 'male',
    required: true
  },
 // ...........

那么在我注册用户时,当我的值不是male或者female时,是会报错的,但是在findByIdAndUpdate时,我的gender只要是字符串,随便输都没有报错,也就是这个验证好像只有在.save()调用时才会触发呀。
怎么才可以在更新时,触发这个校验呢?

写回答

1回答

lewis

2020-04-29

不要太依赖mongodb,在数据库操作之前用前面讲过的验证参数的中间件来验证

0
1
owlism
非常感谢!
2020-04-30
共1条回复

Node.js仿知乎服务端-深入理解RESTful API

Koa2+MongoDB+Postman+JWT+阿里云

952 学习 · 331 问题

查看课程