繁体   English   中英

Mongoose - 从“预”保存钩子中的虚拟节点访问数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM