猫鼬深入虚拟领域

时间:2020-03-24 14:35:04

标签: node.js mongodb mongoose

我有一个“ 3深度”的架构结构,发现无法显示第三级的信息。我不确定这是因为这是一个虚拟领域,还是我做错了什么。

集合是program> project> output。程序架构会像这样查找项目。...

const programmeSchema = new mongoose.Schema({
name: {
    type: String,
},
projects:
    [{ type: mongoose.Schema.ObjectId, ref: 'Project' }],
...
})

哪个返回项目。我的项目架构(中级)具有用于输出集合(第三级)的虚拟字段,就像这样....

projectSchema.virtual('outputs', {
ref: 'Output',
foreignField: 'project',
localField: '_id'
})

当我找到并显示一个项目时,哪个效果很好。但是,当我尝试在程序(顶级)级别显示输出集合中的文档时,我做不到。我尝试过各种不同的人口,例如.....

await Programme.findOne({ _id: req.params.id }).populate({
    path: 'projects',
    populate: {
        path: 'outputs'
    }
})

但是我很困惑。我已经四处搜寻,但是除了我一直在努力遵循的一篇文章之外,我找不到任何关于此的东西(深填充一个虚拟字段)。

请有人告诉我我要去哪里错了吗?

0 个答案:

没有答案