2014-10-27 31 views
1

我有一個名爲Node的Parse.com類,其中包含一個名爲cost的數字列。Parse.com雲代碼保存後總計

我的客戶端應用程序允許一次創建多個節點,並使用SaveAll調用將其保存到Parse。

然後我有另一個類NodeTotals其中將包含所有按照一定標準分組的cost的總和。

我正在嘗試執行高效的方法來完成雲代碼中的總計。我最初的做法是有一個AfterSave功能(上Node)認爲:

  • 查詢所有現有Node行符合我的標準
  • 和的cost對返回的結果
  • 查詢,看是否有NodeTotal進入存在,總如果是更新,或者創建如果不

一個新條目,但這種方法是不是最佳我擔心 - 至少在以下2個原因:

  1. Node執行所有這些查詢保存着良好
  2. 如果新Node對象的一串由客戶端,然後做了白水創建的,我AfterSave功能的多個實例被調用並行 - 每個人認爲不存在現有NodeTotal項,以便創建一個新的(上面第三點) - 導致超過一個NodeTotal行正在創建那裏真的應該只有一個

我敢肯定有一定做一個更好的方式來做我想做的事 - 只需要一些明亮的火花指出它!

回答

0

的人誰碰到這個事,我最終做了以下內容:

,以解決問題1)我確信,在Node Total在該Node創建時間點創建 - 從而消除需要在每次更新時查詢是否存在

對於問題2)使用解析Object.Increment函數來確保原子操作