我有一个名为Node
的Parse.com类,其中包含一个名为cost
的数字列。
我的客户端应用程序允许一次创建多个节点,使用SaveAll调用将其保存到Parse。
然后我有另一个课程NodeTotals
,其中包含根据特定条件分组的所有cost
的总数。
我正在尝试实施高效方法来执行云代码中的总计。我最初的方法是使用AfterSave
函数(Node
):
Node
行cost
求和NodeTotal
条目,如果是则更新总计,或者如果不存在则创建新条目但是我担心这种方法不是最优的 - 至少有以下两个原因:
Node
保存上执行所有这些查询都不错Node
对象,然后执行SaveAll,我的AfterSave函数的多个实例将被并行调用 - 每个实例都认为没有NodeTotal
条目,所以创建一个新的(上面的第三点) - 导致创建多个NodeTotal
行,其中真正应该只有一个我很确定必须有更好的方法来做我想做的事情 - 只需要一些明亮的火花来指出它!
答案 0 :(得分:0)
对于遇到这种情况的人,我最终做了以下事情:
为了解决问题1)我确保Node Total
是在创建Node
的时间点创建的 - 从而无需在每次更新时查询是否存在时间
for issue 2)使用Parse Object.Increment
函数来确保原子操作