繁体   English   中英

将值添加到列表中的 firebase 实时数据库

[英]Add values to firebase Realtime database in list

在我的 firebase 实时数据库中,我有整数列表,这些值的键也是 integer 当我将新值添加到列表时它不会将新值添加到此列表的最后一个(firebase 将此列表从最小到最大的)所以我怎么能禁止这种方法,所以新值总是添加到列表的末尾而没有 Firebase 安排它们。

这是我的清单的图片: 这是我的清单的图片

如果我添加 0 作为示例,它将是列表中的第一个值,我想要成为列表中的最后一个值,因为它是最新值: 在此处输入图像描述

注意:例如,我希望值是唯一的(数字 9 不应重复),这就是为什么我不能每次都使用 push 生成新密钥的原因。

Firebase 键按定义未排序,但控制台按字母/字典顺序显示它们。 由于当前 JSON 中没有“时间”指示,因此您自己的应用程序代码也无法做任何不同的事情。

使用 Firebase 的push()操作,该操作会生成唯一的、始终递增的键。 虽然它们可能比您当前的密钥长一点,但根据定义,它们是按时间顺序排列的。

因此,不要像这样添加数据:

ref.child("9").setValue(9);

用这个:

ref.push().setValue(9);

更新

由于您表明您希望数字是唯一的,因此您可以将它们用作键(因为在 Firebase 中无法确保唯一),然后在每个节点的值中存储一个时间戳。

ref.child("9").setValue(ServerValue.TIMESTAMP)

控制台仍将按字典顺序显示键,但是当从客户端访问数据时,您现在可以使用orderByValue()以按插入顺序获取项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM