猫鼬虚拟机:setter之后的验证错误

时间:2018-08-27 12:41:38

标签: javascript node.js mongoose

const User = new mongoose.Schema(
  {
    hashedPassword: { type: String, required: true },
  }
)

我在保存之前为哈希值创建了虚拟字段。

User.virtual('password')
  .get(function () { return this.hashedPassword })
  .set(function (password) {
    bcrypt.hash(password, 10)
      .then((hash) => {
        this.hashedPassword = hash
      })
  })

如果我发送查询(正文),则会收到错误消息

// Query
User.create(req.body)
    .then((newUser) => {
....

// Body
{
  "email": "email@email.com",
  "password": "Test12345"
}

// Response
{
    "errors": {
        "hashedPassword": {
            "message": "Path `hashedPassword` is required.",
            "name": "ValidatorError",
...

我在猫鼬的文档中找到了以下信息:虚拟属性设置器在其他验证之前应用。

我的错误在哪里?

0 个答案:

没有答案