mongodb - Mongoose:依赖于其他虚拟属性的虚拟属性
问题描述
在猫鼬中,是否有可能拥有一个依赖于另一个虚拟属性的虚拟属性?例如:如果我有属性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;
});
total
是否可以单独使用 4 个属性的总和来创建第三个虚拟属性totalShapes + totalFruit
?对于我非常具体的用例,我想避免后者。
解决方案
是的,您可以参考它们,this.
例如。this.totalShapes
.
需要注意的一件事 - 如果编写查询的人使用 $select 您的虚拟机所依赖的字段可能不存在;查询未返回的字段对虚拟对象不可用。所以要防御并检查虚拟实现中所需的字段。
推荐阅读
- python - 比较数据框的新版本以识别对新数据框的更改
- python-3.x - 如何在 selenium 中使用 chrome webdriver 将 python 中的文件下载到特定文件夹而不询问用户在哪里保存?
- java - 在 Spring Cloud Gateway 中更改响应 - 新对象
- python - 如何将 str 转换为漂亮的汤标签
- .htaccess - .htaccess mod_rewrite:-s 和 -f 条件的区别
- asp.net - ASPxGridView 主详细信息导出到 Excel - 详细信息导出不正确
- excel - Excel IF 公式在单个单元格中具有 3 个输出
- reactjs - ReactJS:增量计数器不断刷新组件
- python-3.x - Python 3.x 记录到模块中的不同文件
- unity3d - Unity,如何在Shader Graph中设置shader标签“DisableBatching”=“True”?