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,那么您的虚拟人所依赖的字段可能不存在;查询未返回的字段对虚拟对象不可用。因此,要有防御性,并在虚拟实现中检查所需字段