【发布时间】:2020-10-03 15:08:14
【问题描述】:
我正在尝试创建一个包含不同企业的猫鼬数据库,每个企业都有一个名称和特定的标签。我使用字符串数组存储标签,但是,我只想允许包含在我制作的“常量”文件(名为 Tags.js)中的标签。有没有一种方法可以在每个业务的 express.js 发布请求中验证标签条目是否包含在常量中?我想确保未包含在常量文件中的标签不能发布到标签数组中。查看 mongoose 文档,看起来 put 方法可能是我可以做到这一点的一种方式,但我不确定。
业务架构
const businessSchema = new Schema({
businessName = {type: String, required, true},
tags = [{type:String]
});
标签常量
export const DELIVERY = "DELIVERY"
export const SUBSCRIPTION = "SUBSCRIPTION"
export const VARIETY = "VARIETY"
export const BLACK_OWNED = "BLACK_OWNED"
export const FEMALE_OWNED = "FEMALE_OWNED"
export const CURBSIDE = "CURBSIDE"
export const EVENT = "EVENT"
export const ORGANIC = "ORGANIC"
我目前的商业邮政路线
router.route('/').post((req, res) => {
let newBusiness = new Business({
...req.body
})
newBusiness.validate(function(err) {
if (err) {
res.status(400).json({
success: false,
err
})
} else {
newBusiness.save().then(()=>res.status(200).json({
success: true
}));
}
});
})
【问题讨论】: