我有一个引用另一个模型的模式。像
这样的东西var bookSchema = new Schema({
title: String,
series: { type: Schema.Types.ObjectId, ref: 'Series' }
});
现在我在book模式中有一个函数需要访问series
。我想做像
bookSchema.methods.fullTitle = function() {
return [this.series.title, this.title].join(" - ");
}
但显然这不起作用。
我该怎么做?
答案 0 :(得分:0)
您需要在能够访问其属性之前填充引用的模型。使用现有设置,您可以执行类似以下操作:
bookSchema.methods.fullTitle = function() {
this.populate('series', function(err, result) {
return [result.series.title, result.title].join(" - ");
});
}
有关详细信息,请参阅Mongoose Population。 http://mongoosejs.com/docs/populate.html