我有一个 Parse.com 类,名为Node
,其中包含一个名为 的数字列cost
。
我的客户端应用程序允许一次创建多个节点,这些节点使用 SaveAll 调用保存到 Parse。
然后我有另一个类NodeTotals
,它将包含所有cost
根据特定标准分组的总数。
我正在尝试实现一种有效的方法来计算云代码中的总数。我最初的方法是有一个AfterSave
函数(on Node
):
Node
查询符合我条件的所有现有行cost
对返回的结果求和- 查询
NodeTotal
条目是否存在,如果存在则更新总数,如果不存在则创建新条目
但我担心这种方法并不是最优的——至少有以下两个原因:
- 在每次保存时执行所有这些查询都不
Node
好 - 如果客户端创建了一堆新
Node
对象,然后执行 SaveAll,我的 AfterSave 函数的多个实例将被并行调用 - 每个人都认为没有现有NodeTotal
条目,因此创建一个新对象(上面的第三点) -导致创建了不止NodeTotal
一行,而实际上应该只有一行
我很确定一定有更好的方法来做我想做的事情——只需要一些明亮的火花来指出它!