如何基于其他字段名mongooseSchema定义slug
我有猫鼬模式: 字段1:名称:如何基于其他字段名mongooseSchema定义slug,mongoose,mongoose-schema,Mongoose,Mongoose Schema,我有猫鼬模式: 字段1:名称: name: { type: String, trim: true, unique: true, required: true, }, 字段2是段塞: slug: { trim: true, type: String, index: true, }, 我有一个函数,用于检查名
name: {
type: String,
trim: true,
unique: true,
required: true,
},
字段2是段塞:
slug: {
trim: true,
type: String,
index: true,
},
- 我有一个函数,用于检查名称是否使用accept字符进行验证:
categorySchema.path("name").validate(function (name) { const regex = /^[0-9a-zא-ת- ]+$/; if (regex.test(name)) { return true; } else throw new Error("no accept"); });
问题:我不知道如何根据名称字段检查slug并保存它您可以在有效负载保存到mongoose之前验证它。猫鼬有一个内置的功能
name: {
type: String,
trim: true,
unique: true,
required: true,
validate: {
validator: function (v) {
return /^[0-9a-zא-ת- ]+$/.test(v);
},
message: (props) => `${props.value} is not accept!`
}
}
在您需要像这样操纵负载之前,例如
var someFunction = (payload) => {
// here your manipulation
}
categorySchema({
name : payload.name,
slug : someFunction
}).save()
.then(docs => {
console.log(docs)
})
.catch(err){
throw err
}
您可以在有效负载保存到mongoose之前对其进行验证。猫鼬有一个内置的功能
name: {
type: String,
trim: true,
unique: true,
required: true,
validate: {
validator: function (v) {
return /^[0-9a-zא-ת- ]+$/.test(v);
},
message: (props) => `${props.value} is not accept!`
}
}
在您需要像这样操纵负载之前,例如
var someFunction = (payload) => {
// here your manipulation
}
categorySchema({
name : payload.name,
slug : someFunction
}).save()
.then(docs => {
console.log(docs)
})
.catch(err){
throw err
}