在实时数据库中,我有子bus_id
,它的节点是bus_no
、bus_id
、bus_time
和creationDate
作为时间戳。我已经使用 orderBychild(timestamp)
对数据进行排序。如果 bus_id
不存在,我还使用规则 !data.exists && newData.exists()
实现了 create/add bus_id
。
现在我想实现这一点,如果子bus_id
是在之前10分钟创建的,则更新它;或者更新child
bus_id(如果它的时间戳为10分钟)前。
我将通过 ref.child(bus_id).setValue(busInfo); 更新数据
那么是否存在使用三元运算符使上述问题无效的查询?
最佳答案
从你的问题中我可以看出,如果 bus_id
子项是在 10 分钟之前创建的,则您想要更新它,否则更新创建于 10 分钟的 bus_id
分钟前。
我可以建议您两种方法来做到这一点,首先是为每个 bus_id
添加一个名为 timeCreated
的新时间戳,然后您可以检索它们的值,并检查是否已过 10 分钟。
这可以让您更新 10 分钟前的 bus_id
。
另一种方法是根据您的需要更改 Firebase 规则,如 @JeremyW 在评论中所述。
一些有用的资源是,this video ,您应该跳到时间 22:55。
Firebase docs regarding this.和 this stack overflow question .
关于java - firebase实时数据库验证规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53936846/