我认为这是一个简单的问题,但我很困惑。 如何将最小值添加到 mongoose > 0?
var customer = new Schema({
cash: {
type: Number,
minimum: 0
}
});
此代码允许 0 值,但我想做 > 0
我知道,我能做到
var customer = new Schema({
cash: {
type: Number,
minimum: 0
},
validate: {
validator: function(value) {
return value > 0;
},
message: 'cash need to be > 0'
},
});
*现金是浮动的,并且可以非常小
但是太长了,有没有更简单的方法?
您可以在定义模式时指定最小值。
var breakfastSchema = new Schema({
eggs: {
type: Number,
min: [6, 'Too few eggs'],
max: 12
},
bacon: {
type: Number,
required: [true, 'Why no bacon?']
},
drink: {
type: String,
enum: ['Coffee', 'Tea'],
required: function() {
return this.bacon > 3;
}
}
});
var Breakfast = db.model('Breakfast', breakfastSchema);
`
var badBreakfast = new Breakfast({
eggs: 2,
bacon: 0,
drink: 'Milk'
});
var error = badBreakfast.validateSync();
assert.equal(error.errors['eggs'].message,
'Too few eggs');
assert.ok(!error.errors['bacon']);
assert.equal(error.errors['drink'].message,
'`Milk` is not a valid enum value for path `drink`.');
badBreakfast.bacon = 5;
badBreakfast.drink = null;
error = badBreakfast.validateSync();
assert.equal(error.errors['drink'].message, 'Path `drink` is required.');
badBreakfast.bacon = null;
error = badBreakfast.validateSync();
assert.equal(error.errors['bacon'].message, 'Why no bacon?');
http://mongoosejs.com/docs/api.html#schema-number-js
试试这个:
var customer = new Schema({
cash: {
type: Number,
min: 1
}
});
我假设你正在使用 mongoose.js?