Nodejs Mongodb 验证模式数组上的值



我想知道如何验证值是否在架构中不同值的数组中。看看这个例子:

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']
}
});

相关内容

  • 没有找到相关文章

最新更新