我想在我的Firebase数据库中更新(或同步)树中的最新条目。
结构如下:
我想仅观察最新的条目,而不是将所有条目作为' EventTypeChildAdded'确实。
但是,我真的想观察最新的条目,所以我想在有新的'最新的时候调用一个函数。进入,所以当一个孩子被添加。
我已经找到了这段代码。
(DatabaseRef).queryOrderedByKey().queryLimitedToLast(1).observeSingleEventOfType
但这似乎没有观察到最新的条目。
答案 0 :(得分:1)
我猜你的方向错了。 childadded完全符合您的需求。再次检查文档。 https://firebase.google.com/docs/database/admin/retrieve-data#child-added
第一次添加内容时,所有列表都会提取,但只会添加刚刚添加到列表中的项目。
已添加儿童
通常在检索列表时使用child_added事件 数据库中的项目。与返回整体的价值不同 每个位置触发一次location_added的位置内容 现有的孩子,然后每次新的孩子被添加到 指定的路径。事件回调传递包含的快照 新孩子的数据。出于订购目的,它也会传递一秒钟 包含前一个孩子的关键字的参数。
修改强> 要将childadded查询限制为最后一项:
ref.queryLimited(toLast: 1).observe(.childAdded) { (snapshot) in
// parse snapshot to get the last item