【问题标题】:Mongoose model required and with default猫鼬模型需要和默认
【发布时间】:2018-10-02 01:40:45
【问题描述】:

我使用名为“phoneNumber”的字段创建了 mongoose 模型:

...
phoneNumber: {
    type: 'String',
    required: true,
    default: ''
},
...

每当我创建该模型的新记录时,都会出现验证失败异常:

 Path `phoneNumber` is required

即使我设置了默认值,也会发生这种情况。 哪里不对?

【问题讨论】:

    标签: javascript node.js mongodb mongoose mongoose-schema


    【解决方案1】:

    您将默认值设置为空字符串,在 JavaScript 中空字符串是 falsy 值。因此,所需的检查失败,您会收到该验证消息。

    阅读更多关于 Falsy 值的信息:https://developer.mozilla.org/en-US/docs/Glossary/Falsy

    【讨论】:

    • 默认情况下建议使用什么?如果有默认值,那么在什么情况下 require 应该抛出错误?
    • @adirabargil from the docs注意:Mongoose 仅​​在路径值严格为 undefined 时应用默认值。
    • @Farhan 这对猫鼬来说很糟糕。 IMO 他们应该检查null/undefined,仅此而已。
    猜你喜欢
    • 2013-01-16
    • 2015-09-16
    • 2019-07-17
    • 1970-01-01
    • 2018-07-05
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多