Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java firebase实时数据库验证规则_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java firebase实时数据库验证规则

Java firebase实时数据库验证规则,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,在实时数据库中,我有childbus\u id&它的节点是bus\u no、bus\u id、bus\u time和creationDate作为时间戳。我已经使用orderBychild(时间戳)对数据进行了排序。我还使用规则实现了创建/添加总线id如果总线id不存在!data.exists&&newData.exists() 现在我想实现这一点,如果它是在之前10分钟创建的,则更新childbus\u id;如果它在之前10分钟具有时间戳,则更新childbus\u id 我将通过ref.ch

在实时数据库中,我有child
bus\u id
&它的节点是
bus\u no
bus\u id
bus\u time
creationDate
作为时间戳。我已经使用
orderBychild(时间戳)
对数据进行了排序。我还使用规则
实现了创建/添加
总线id
如果
总线id
不存在!data.exists&&newData.exists()

现在我想实现这一点,如果它是在之前10分钟创建的,则更新child
bus\u id
;如果它在之前10分钟具有时间戳,则更新
child
bus\u id

我将通过
ref.child(bus_id).setValue(busInfo)更新数据


那么,是否存在使用三元运算符使上述问题无效的查询?

从您的问题中,我可以看出,如果在10分钟前创建了
bus\u id
子项,则您需要更新该子项,否则请更新10分钟前创建的
bus\u id

我可以向您推荐两种方法,第一种方法是为每个
总线id
添加一个名为
timeCreated
的新时间戳,然后您可以检索它们的值,并检查它是否为10分钟

这可以让您更新早10分钟的
总线id

另一种方法是根据需要修改Firebase规则,正如@JeremyW在评论中所说的那样

下面是一些有用的资源,您应该跳到时间22:55


而且。

可能会为您指出正确的方向,有一个名为
now
的变量提供对当前服务器时间的访问。。。。因此,您的数据库必须包含“last_modified_datetime”,并将其与服务器时间进行比较。。。感谢您的重放,但通过使用时间戳,我们可以为创建/添加记录或数据(如果不存在)编写失效规则,并在时间戳在10之前的情况下更新数据/记录。米努特之前…?&怎么做?是的,你可以。不幸的是,我没有时间帮助您完成整个开发过程,您必须自己解决这个问题。。。。但是,是的,这会起作用。先生,它有一个单一的查询,比如!data.exists()| | data.exist()。。。。。。像那样。。但我很困惑,如何使用诸如!、&&、||等操作符在单个应用程序中实现它所以,请你帮我做什么,如果它是10分钟前的时间戳,它必须更新。。。???我在等待你的答复…@ShivamGupta:你对代码的描述很难解析。请看一看。拥有一个MCVE是迄今为止增加有人可以帮助解决像您这样的具体编码问题的机会的最好方法。您可以简单地使用以下内容:)