0

我的onWrite()雲功能存在問題。我有以下的數據庫結構:Firebase - OnWrite每次更新節點時都會更新

"data" : { 
    "pushId" : { 
     "date_time" : "date time", 
     "status" : true 
    } 

該功能通過發送每當一個新的pushId被插入到「數據」推送通知罰款,但是它也發送當一個子節點更新推送通知。例如,只要狀態更改爲false,它就會發送另一個推送通知。

有沒有辦法只發送一次推送通知,當一個新的pushId插入到「數據」,永遠不會再爲該pushId?

謝謝大家的幫助!

+0

你能分享你的代碼嗎? – Learn2Code

回答

0

如果您只想執行一次寫入數據庫中某個特定位置的工作,則需要一個標記工作已經發生的策略。然後,您需要在未來的函數調用中檢查該標誌以跳過該工作。最簡單的做法是將標誌值寫回到數據庫的相同位置,然後檢查每個調用的該標誌的值,以確保它以前未設置。

+0

在執行推送通知之前,我使用事件參數來檢查「狀態」是否爲真。如果狀態發生變化,則工作良好,但在「date_time」更新時不起作用。 – xirlas

相關問題