Javascript Mongoose-从“pre”保存钩子中的虚拟节点访问数据
我需要使用新创建的文档中的数据,并使用该数据使用“pre”钩子更新值 例如,我的模型是:Javascript Mongoose-从“pre”保存钩子中的虚拟节点访问数据,javascript,mongodb,express,mongoose,Javascript,Mongodb,Express,Mongoose,我需要使用新创建的文档中的数据,并使用该数据使用“pre”钩子更新值 例如,我的模型是: ... title: { type: String, required: true }, company: { type: mongoose.Schema.ObjectId, ref: 'Company', required: true } “预”挂钩是: jobSchema.pre('save', function(next) { const jobTitle = slugif
...
title: {
type: String,
required: true
},
company: {
type: mongoose.Schema.ObjectId,
ref: 'Company',
required: true
}
“预”挂钩是:
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()
})
我无法在钩子中访问此。公司,我不确定如何执行此操作。因为公司是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();
});
});
工作完美。谢谢