node.js - 如何在 Mongoose 中填充引用另一个模式的对象数组

标签 node.js mongodb mongoose

你好,我用类(class)填充了所有作者。

 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 } ]

最佳答案

我相信这应该适合你:

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

console.log(courses);

关于node.js - 如何在 Mongoose 中填充引用另一个模式的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56155795/

相关文章:

node.js - Promise 问题 : using Q. nfcall() 调用 mongoose.findOne()

node.js - AWS lambda 与 mongoose 到 Atlas - MongoNetworkError

javascript - 使用 JavaScript 动态更新视频 src

javascript - node-inspector/chrome 实例没有显示源文件,没有调用堆栈,什么也没有

node.js - NodeJS https 请求需要过多内存

node.js - 如何在mongodb中获取每个组的最新N条记录?

javascript - MongoDb 当存储为字符串时按日期查找

node.js - Windows:自动启动PM2和 Node 应用

java - 如何实现 mongoTemplate.findDistinct()?

mongodb:如何过滤掉今天创建的记录?