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));
。