У меня есть схема storySchema
с chapters -> posts
, которые не являются иностранными документами, и posts -> author
, которая является иностранным документом. когда я populate({ path: "chapters", populate: { path: "posts", populate: {path: "author"}}})
, я возвращаюсь 'undefined'.
Я не уверен, как использовать populate
с вложенными документами, которые не являются иностранными.
const storySchema = new Schema({
chapters: [{
title: String,
description: String,
posts: [{
author: {
type: Schema.Types.ObjectId,
ref: "User"
},
description: String
}]
}],
});
models.Story.findOne({ _id: req.params.story_id }).populate({ path: "chapters", populate: { path: "posts", populate: { path: "author" } } })
.then(story => {})...
Я ожидал, что документ с заполненным желаемым полем author
получил вместо этого неопределенный документ.