填充嵌入的文档

时间:2017-04-12 09:21:13

标签: mongoose populate

不确定这是否是提出这个问题的正确位置,但我会尝试一下。

这是我的架构的简化版本

var mediaSchema = new Schema({
  remote_url: {type: String},
  media_type: {type: String, enum: ['jpg','png']},
  media_version: {type: String},
  public_id: {type:String},
  resource_type: {type: String},
  bytes: {type: Number}
})

module.exports = mongoose.model('Media', mediaSchema);

var User = new Schema({
  ....
  pictures: [Media.schema],
  sorted_pictures: [{ type: Schema.Types.ObjectId, ref: 'Media' }]
});

module.exports = mongoose.model('User', User);

我将Media文档嵌入用户文档中。我还在嵌入文档上有一个ObjectIds排序数组,以支持客户定义的排序

我正在尝试使用以下方式查询以下内容:

User.findById(req.user, {sorted_pictures:1})
  .populate({path:'sorted_pictures', model: 'Media'})
  .exec(....

但是我得到一个空数组。

我在这里做错了什么?

0 个答案:

没有答案