我当前的猫鼬模式是这样的:
const mongoose = require('mongoose');
const resultSchema = new mongoose.Schema({
scores: { type: Number, required: true },
analysis: { type: String, required: true }
},
{ timestamps: true, toJSON: { virtuals: true } }
);
module.exports = mongoose.model('Result', resultSchema);
我希望分数字段具有一定范围的数字。例如100到500。
我该怎么办?
同时,我可以在Mongoose中使用MongoDB运算符吗?
答案 0 :(得分:0)
猫鼬有几个内置的验证器,可以完全满足此用例。
由于scores
的类型为Number
,因此可以使用min
和max
验证器以这种方式验证范围:
const mongoose = require('mongoose');
const resultSchema = new mongoose.Schema({
scores: {
type: Number,
required: true,
min: 100,
max: 500
},
analysis: {
type: String,
required: true
}
}, { timestamps: true, toJSON: { virtuals: true } });
module.exports = mongoose.model('Result', resultSchema);
您可以阅读有关猫鼬验证的信息:https://mongoosejs.com/docs/validation.html