我正在设计一个庞大的应用程序,我们必须在每个Mongo文档上执行相同的计算,例如:
{
field1:field1,
field2:field2
sum:(field1+field2)
}
哪种计算方式最好?进入Mongoose Model或Schema,MongoDB本身甚至是我们的控制器中的角色?
答案 0 :(得分:0)
如果您需要对数据执行查询或计算是复杂的,那么为结果添加一个简单字段并将其存储在MongoDB文档中是有意义的。 MongoDB不知道某些字段是相关的,保持数据同步是你的工作。
如果您不需要查询,并且计算不复杂,那么最佳位置通常是模型,因为它允许"后端"用于查询字段的服务和前端服务以及(域)逻辑在中心位置编码到模型中,而不是分布在代码库的一半上。
如果它只是只读和前端问题,我只会在前端放置这样的逻辑,例如,您可能希望通过角度过滤器执行数字格式化并以完全精确的方式执行计算和数据存储。
角度控制器应该只关注前端逻辑,例如:管理用户如何从互斥或相互依赖的各种选项中选择的顺序。前端控制器不应该对域逻辑有任何想法。