MongoDB 字段只接受 3 个特殊值
MongoDB field only accepts 3 special values
slider_value: {
type: Number,
required: false,
},
这是我的 MongoDB 模型中字段之一的 Mongoose 模式。
它可能只接受1, 4, and 10
的整数值。
如何在架构中指定此验证器?
如果您只需要存储这三个值中的一个,将它们存储为字符串,并使用 enum
键进行验证是合理的。例如,它可能看起来像这样:
{
slider_value: {
type: String,
enum: ["1", "4", "10"],
},
}
或者,如果需要以 int 形式存储它们,您可以使用自定义验证器在保存值之前检查值。看起来像这样:
{
slider_value: {
type: Number,
validate: {
validator: value => value === 1 || value === 4 || value === 10,
message: props => `${props.value} is invalid for slider_value`,
},
},
}
有关 generell 中 mongoose 中的自定义验证器和验证的更多详细信息,请参见此处 mongoose validation docs。
slider_value: {
type: Number,
required: false,
},
这是我的 MongoDB 模型中字段之一的 Mongoose 模式。
它可能只接受1, 4, and 10
的整数值。
如何在架构中指定此验证器?
如果您只需要存储这三个值中的一个,将它们存储为字符串,并使用 enum
键进行验证是合理的。例如,它可能看起来像这样:
{
slider_value: {
type: String,
enum: ["1", "4", "10"],
},
}
或者,如果需要以 int 形式存储它们,您可以使用自定义验证器在保存值之前检查值。看起来像这样:
{
slider_value: {
type: Number,
validate: {
validator: value => value === 1 || value === 4 || value === 10,
message: props => `${props.value} is invalid for slider_value`,
},
},
}
有关 generell 中 mongoose 中的自定义验证器和验证的更多详细信息,请参见此处 mongoose validation docs。