Node.js 如何将来自多个embbeded集合的数据获取到ejs中?

Node.js 如何将来自多个embbeded集合的数据获取到ejs中?,node.js,mongodb,express,mongoose,ejs,Node.js,Mongodb,Express,Mongoose,Ejs,大家好,这个问题有点傻,但我是编程新手。因此,我一直在使用ejs、nodejs、express、mongoose、mongodb为我的大学项目开发一个产品管理系统。因此,我不知道如何获得类别标题而不是objectId。我尝试使用,但它变为空白 图片供参考。 Ejs代码。 })) const Issue=mongoose.model('Issue',issueSchema) module.exports=问题 在这里,我有嵌入式产品集合 产品模型 },{时间戳:true}) 类别模型 },{时间

大家好,这个问题有点傻,但我是编程新手。因此,我一直在使用ejs、nodejs、express、mongoose、mongodb为我的大学项目开发一个产品管理系统。因此,我不知道如何获得类别标题而不是objectId。我尝试使用
,但它变为空白

图片供参考。

Ejs代码。 }))

const Issue=mongoose.model('Issue',issueSchema)

module.exports=问题

在这里,我有嵌入式产品集合

产品模型 },{时间戳:true})

类别模型 },{时间戳:true})

const Category=mongoose.model('Category',CategorySchema)

module.exports=类别

现在这是issueController,我从这里获取数据。 })


提前谢谢你

仅仅从代码上说有点难

有帮助的是将您从数据库中得到的信息记录到console.log中,因此在ejs的头部只需输入

<% console.log(issues) %>

这将向您的视图显示返回的对象,从那里您将看到返回的内容,然后您可以在对象中引用正确的元素

const issue_detail = (req, res) => {
Issue.find().sort({ createdAt: -1})
.populate({path : 'product', populate : {path : 'category'}})
.then((issue) => {
        res.render('products/issue/details', {
            issue: issue,
          })
})
.catch((err) => {
    console.log(err);
})

参考资料:

非常感谢您的帮助。
const productSchema = new Schema({
prodid: {
    type: String,
    required: true
},
title: {
    type: String,
    required: true
},
manufacturer: {
    type: String,
    required: true
},
category: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'category'
},
status: {
    type: String,
    default: 'In Stock'
},
coverImage: {
    type: Buffer,
    required: true
},
coverImageType: {
    type: String,
    required: true
}
const CategorySchema = new Schema({
title: {
    type: String,
    required: true
}
const issue_detail = (req, res) => {
Issue.find().sort({ createdAt: -1})
.populate('product category')
.then((issue) => {
        res.render('products/issue/details', {
            issue: issue,
          })
})
.catch((err) => {
    console.log(err);
})
<% console.log(issues) %>
const issue_detail = (req, res) => {
Issue.find().sort({ createdAt: -1})
.populate({path : 'product', populate : {path : 'category'}})
.then((issue) => {
        res.render('products/issue/details', {
            issue: issue,
          })
})
.catch((err) => {
    console.log(err);
})