首页 > 解决方案 > 如何从 Firebase-Database 树更新最新条目?

问题描述

我想更新(或同步)我 Firebase 数据库中树的最新条目。

结构如下所示:

我只想观察最新条目,而不像“EventTypeChildAdded”那样获取所有条目。
但是,我真的很想观察最新的条目,所以每当有一个新的“最新”条目时我想调用一个函数,所以当一个孩子被添加时。

我已经找到了这段代码。

(DatabaseRef).queryOrderedByKey().queryLimitedToLast(1).observeSingleEventOfType

但这似乎并没有观察到最新的条目。

标签: iosswiftfirebasefirebase-realtime-databasereal-time

解决方案


我猜你走错路了。childadd 完全符合您的需要。再次检查文档。 https://firebase.google.com/docs/database/admin/retrieve-data#child-added

childadd 第一次获取所有列表,但仅获取刚刚添加到列表中的项目。

已添加儿童

child_added 事件通常在从数据库中检索项目列表时使用。与返回位置的全部内容的 value 不同,child_added 为每个现有的孩子触发一次,然后每次将新的孩子添加到指定的路径时再次触发。事件回调被传递一个包含新孩子数据的快照。出于排序目的,它还传递了第二个参数,其中包含前一个孩子的键。

编辑: 要将 childadded 查询限制为最后一项:

ref.queryLimited(toLast: 1).observe(.childAdded) { (snapshot) in
// parse snapshot to get the last item

推荐阅读