0

我的onWrite()云功能存在问题。我有以下的数据库结构:Firebase - OnWrite每次更新节点时都会更新

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

该功能通过发送每当一个新的pushId被插入到“数据”推送通知罚款,但是它也发送当一个子节点更新推送通知。例如,只要状态更改为false,它就会发送另一个推送通知。

有没有办法只发送一次推送通知,当一个新的pushId插入到“数据”,永远不会再为该pushId?

谢谢大家的帮助!

+0

你能分享你的代码吗? – Learn2Code

回答

0

如果您只想执行一次写入数据库中某个特定位置的工作,则需要一个标记工作已经发生的策略。然后,您需要在未来的函数调用中检查该标志以跳过该工作。最简单的做法是将标志值写回到数据库的相同位置,然后检查每个调用的该标志的值,以确保它以前未设置。

+0

在执行推送通知之前,我使用事件参数来检查“状态”是否为真。如果状态发生变化,则工作良好,但在“date_time”更新时不起作用。 – xirlas

相关问题