как заполнить массив объектов в мангусте, которые ссылаются на другую схему

привет, я пошел, чтобы заполнить всех авторов с курсом.

 const courses = await Course.find().populate('author','name -_id');
    console.log(courses);

const Author = mongoose.model('Author',mongoose.Schema({
    name:{
        type:String,
        required:true
    },
    bio:String,
    website:String
}));

const Course = mongoose.model('Course',mongoose.Schema({
    name:String,
    author:[{
        type: mongoose.Schema.Types.ObjectId,
        ref:'Author'
    }]
}));

вот что я получаю:

[ { author: [ [Object], [Object] ],
    _id: 5cdc596bfd5a1e33e4833b2b,
    name: 'nodejs course',
    __v: 1 } ]

но я пошел, чтобы заполнить имя автора внутри массива автора следующим образом [{author:[{name:'jhon'},{name:'jhon2'}],

[ { author: [ [Object], [Object] ],
    _id: 5cdc596bfd5a1e33e4833b2b,
    name: 'nodejs course',
    __v: 1 } ]

Всего 1 ответ


Я считаю, что это должно работать для вас:

const courses = await Course
            .find({})
            .populate('author')
            .exec();

console.log(courses);

Есть идеи?

10000