我想限制mongo中字段的选择:
units : { type: Number, default: 1 },
但我想添加这个约束:类似
授权值:[1,10,100,1000]
答案 0 :(得分:5)
var mySchema = new Schema({
"units": { "type": Number, "default": 1, "enum": [1,10,100,1000] }
})
答案 1 :(得分:0)
MongoDB中没有枚举,因为json / bson中没有枚举,所以是的,你不能,你只能使用你的编程语言控制输入的值(例如:输入意外值时触发异常)
答案 2 :(得分:0)
Mongoose的枚举验证程序仅适用于字符串类型,但您可以使用custom validator执行此操作:
units : {
type: Number,
default: 1,
validate: {
validator: function (value) {
return [1, 10, 100, 1000].indexOf(value) !== -1;
},
message: 'Value must be one of 1, 10, 100, 1000'
}
}