Вы можете указать model
в populate
, если ref
не определен в Schema
. Итак, насколько я понимаю, вам нужно запросить Book
, заполнив Author
.
const books = await Book.find().populate({path: 'authors._id', model: 'Author'}).exec();
Также в вашей схеме Book
, если вы вставляете объект JSON, как указано в вашем вопросе, тогда не нужно определять type: Array
внутри JSON. Вы можете обновить его, как показано ниже.
const Book = new Schema({
name: {
type:String,
required: true
}
authors: [{}] //or [{_id: {type: Schema.Types.ObjectId}, comment: {type: String}}]
})