Mongoose - 从模式中访问填充字段

时间:2015-07-05 19:24:16

标签: node.js mongoose

我有一个引用另一个模型的模式。像

这样的东西
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(" - ");
}

但显然这不起作用。

我该怎么做?

1 个答案:

答案 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