[英]Mongoose - accessing data from a virtual node in 'pre' save hook
我需要使用新创建的文档中的数据,并使用该数据使用“预”挂钩更新值。
例如,我的模型是:
...
title: {
type: String,
required: true
},
company: {
type: mongoose.Schema.ObjectId,
ref: 'Company',
required: true
}
...
'pre' 钩子是:
jobSchema.pre('save', function(next) {
const jobTitle = slugify(this.title, { lower: true })
const companyName = slugify(this.company.name, { lower: true })
this.slug = jobTitle + companyName
next()
})
我无法在钩子中访问this.company
,我不确定如何完成。
由于company
是 ObjectId 类型,您可以使用 findById 来访问
jobSchema.pre('save', function(next) {
let job = this;
Company.findById(job.company, function (err, company) {
if(err) return next(err);
const jobTitle = slugify(job.title, { lower: true })
const companyName = slugify(company.name, { lower: true })
job.slug = jobTitle + companyName
next();
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.