对相关架构上的虚拟字段求和的猫鼬虚拟字段

时间:2020-03-22 10:48:18

标签: mongoose mongoose-schema

我与mongoose模式具有一对多的mongodb关系,该关系需要对用户选择的主要文档/架构中的总数进行求和。

“顶层”模式如下所示……

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

返回正确的“项目”文档,并且一切都是笨拙的。在虚拟字段中,我尝试求和。...

programmeSchema.virtual('totalProgramme').get(function () {
let totalProgramme = 0
this.projects.forEach(function (el) {
    totalProgramme = totalProgramme + el.total
})
return totalProgramme
})

尝试使用此虚拟字段对“项目”文档中的数字求和不起作用。如果我进行管理,那只是我有权访问的ID。我不确定这是因为我需要在某个地方填充文档,还是因为无法创建一个虚拟字段来汇总来自不同架构的虚拟字段(或更可能的是,有可能,但是我不知道如何)。

我可以在前端进行总计,但这似乎是一种不好的做法。我希望这种“顶层”模式尽可能轻巧,并且只从要显示的文档中获取信息,并在一些字段上执行一些摘要数据。

0 个答案:

没有答案