gpt4 book ai didi

node.js - 防止保存空文档

转载 作者:太空宇宙 更新时间:2023-11-03 22:40:02 25 4
gpt4 key购买 nike

我已经使用 Mongoose 进行了具有三个字段的架构设置。其中没有一个是必需的,但我想确保至少填充三个字段中的一个,以防止保存空文档(理想情况下,实际上我想确保至少 first第二个字段已填充)。最好的方法是什么? pre('save')看起来像是一个选项,但我认为应该有一个内置的方法来做到这一点。

var mySchema = new Schema({
first: {
type: String,
trim: true
},
second: {
type: String,
trim: true
},
third: {
type: Number,
min: 1
}
}, {
timestamps: true
});

var My = mongoose.model('My', mySchema);

最佳答案

您可以像您提到的那样使用 pre('save') 或在一个字段上进行 validation 来检查此条件,如下所示。

var validateLocalStrategyProperty = function(property) {
return this.first || this.second || this.third);
};

var mySchema = new Schema({
first: {
type: String,
trim: true,
validate: [validateLocalStrategyProperty, 'Please fill at least one field']
},
second: {
type: String,
trim: true
},
third: {
type: Number,
min: 1
}
}, {
timestamps: true
});

var My = mongoose.model('My', mySchema);

关于node.js - 防止保存空文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40859795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com