Node.js 如何填充mongoose中引用其他模式的对象数组

Node.js 如何填充mongoose中引用其他模式的对象数组,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,您好,我去填充所有作者的课程 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, w

您好,我去填充所有作者的课程

 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数组中填充了author name 像这样的
[{author:[{name:'jhon'},{name:'jhon2'}],

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

我相信这应该对你有用:

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

console.log(courses);

我相信这应该对你有用:

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

console.log(courses);

不工作[{author:[[Object],[Object]],[id:5cdc596bfd5a1e33e4833b2b,名称:'nodejs课程',[uuv:1}]我相信你已经具备了你所需要的一切。试着做
console.log(JSON.stringify(courses));
而不是。不工作[{author:[[Object],[Object]],[id:5cdc596bfd5a1e33e43e43b2b,名称:'nodejs课程',[uv:1}]我相信您已经具备了所有需要的功能。请尝试执行
console.log(JSON.stringify(courses));