首页 > 解决方案 > 如何从firebase获取特定时间戳后的数据

问题描述

Firepad 将我所有的内容存储在一个 firebase 实时数据库中。使用 javascript 在 firebase 中获取和存储数据。

在我的应用程序中有一个页面,该页面具有用于编写内容的 firepad 以及用于将该内容存储在 SQL 中的保存按钮。

有一个编辑功能来编辑该内容,因此每当用户单击编辑时,它都会从 SQL 获取数据并放入 firepad 进行编辑,并且该内容也再次存储到 firepad 中,因为 firepad 直接与 firebase 连接。

在我的系统中,多个用户可以同时在该 Firepad 页面上进行编辑。

现在的问题是如果我正在编辑页面,如果其他人单击编辑并同时开始在该 Firepad 页面上进行编辑,我的编辑将被删除。发生这种情况是因为每当单击编辑按钮时,它再次从 SQL 中获取数据并放入该 Firepad。

为了解决这个问题,我计划添加如下更改:

1)当有人保存页面时,它还会将 Firebase 时间戳存储在 SQL 中。

2)当有人打开一个页面进行编辑时,它会从 SQL Server 加载页面(就像现在发生的那样),但它也会从 Firebase 加载 ALL CHANGES SINCE STORED TIMESTAMP。

当用户从firebase保存数据时,我能够获得最后一个时间戳值,但无法找到解决方案来仅获取在firebase中某个时间戳之后存储的数据。

例如,如下面的快照所述,我有一个像 1536583211004 这样的时间戳,现在我只想在那个特定的时间戳之后获取数据。

firebase 数据快照

以上是firebase数据的结构。

在从firebase的特定时间戳之后,我如何获取数据并将其放入firepad?

预期的结果数据应该是 B3H、B3I、B3J、B3k(检查上面的 snap 以获得这个值)

标签: firebasefirebase-realtime-databasefirepad

解决方案


推荐阅读