Mongodb Mongoose:依赖于其他虚拟属性的虚拟属性

Mongodb Mongoose:依赖于其他虚拟属性的虚拟属性,mongodb,mongoose,Mongodb,Mongoose,在猫鼬中,是否有可能拥有一个依赖于另一个虚拟财产的虚拟财产?例如: 如果我有属性squaresAmnt,trianglesAmnt,appleAmnt,和pearAmnt(所有类型均为Number),然后创建两个虚拟属性: mySchema.virtual('totalShapes').get(function() { return this.squaresAmnt + this.trianglesAmnt; }); mySchema.virtual('totalFruit').get(f

在猫鼬中,是否有可能拥有一个依赖于另一个虚拟财产的虚拟财产?例如: 如果我有属性
squaresAmnt
trianglesAmnt
appleAmnt
,和
pearAmnt
(所有类型均为Number),然后创建两个虚拟属性:

mySchema.virtual('totalShapes').get(function() {
  return this.squaresAmnt + this.trianglesAmnt;
});

mySchema.virtual('totalFruit').get(function() {
  return this.appleAmnt + this.pearAmnt;
});

是否可以使用
totalShapes+totalFruit
的总和来创建第三个虚拟财产
total
,而不是单独创建4个财产?对于我非常具体的用例,我希望避免使用后者。

是的,您可以使用
this来引用它们。
例如
this.totalShapes


需要注意的一点是,如果编写查询的人使用$select,那么您的虚拟人所依赖的字段可能不存在;查询未返回的字段对虚拟对象不可用。因此,要有防御性,并在虚拟实现中检查所需字段

是的,您可以使用
this.
例如
this.totalShapes
来引用它们

需要注意的一点是,如果编写查询的人使用$select,那么您的虚拟人所依赖的字段可能不存在;查询未返回的字段对虚拟对象不可用。因此,要有防御性,并在虚拟实现中检查所需字段