我想知道如何验证值是否在架构中不同值的数组中。看看这个例子:
const progressSchema = mongoose.Schema({
possible_statuses: {
type: Array
},
first_status: {
type: String
}
});
一个 POST(插入(示例是:
{
possible_statuses: ['Untouched', 'In Progress', 'Complete'],
first_status: 'Untouched'
}
但是使用这个对上述项目进行 PUT(更新(:
{
id: hwad0912he109sj(whatever),
first_status: 'Recalled'
}
应该抛出如下错误:Invalid first_status
有人可以给我一个例子来说明这将如何工作。我认为您需要使用类似progressSchema.pre('save'...
猫鼬对于这个用例有一个枚举属性。请参阅下面的文档和示例:
const progressSchema = mongoose.Schema({
possible_statuses: {
type: Array
},
first_status: {
type: String,
enum: ['Untouched', 'In Progress', 'Complete']
}
});