【发布时间】:2017-12-25 18:17:36
【问题描述】:
我有一个存储端口号的猫鼬模式。我还为该字段设置了默认值。
port:{
type:Number,
default:1234
}
如果我没有通过我的 API 获得任何值,它将被设置为 1234。
但是,如果有人发送null,它会接受null 并保存到数据库中。
不应该将null 隐蔽为1234 吗? null 不是数字!我理解错了吗?
我正在考虑给定here 的解决方案,但我不想为没有它应该工作的东西添加额外的代码(除非我错了,它不应该将null 转换为1234)
【问题讨论】:
-
它更像是一个JavaScript artifact,它是猫鼬中“类型”的基础。所以这取决于你是否可以简单地抛出一个异常(你可以用一个简单的验证器来做)或者用提供它的“默认”值代替
null,正如你提到的那样,这是在“pre”钩子中完成的.或者确保输入是undefined而不是null,然后“默认”就可以按预期工作。 -
下面的my answer 对您有帮助吗?有没有cmets?
标签: node.js mongoose mongoose-schema