gpt4 book ai didi

ios - 如何在 Firebase 中创建自动递增键?

转载 作者:搜寻专家 更新时间:2023-10-30 21:53:50 26 4
gpt4 key购买 nike

我想知道我们是否可以像在 SQL 中那样在 Firebase 中创建自动递增 ID(键)!

我想创建一个这样的结构

rules:
Line1:
1: Smith
2: Alex
3: Hello
Line2:
1: Brown
2: Michael

所以假设我想将“Erik”添加到第 1 行,它应该这样做

Line1:
1: Smith
2: Alex
3: Hello
4: Erik

有没有可能有这样的结构?

我知道我们有

push()

childByAutoId()

但这不适合我的问题。我只是在使用 Swift iOS。

最佳答案

这种顺序键本质上限制了多用户分布式系统的可扩展性,该系统还需要处理缺乏连接的问题。这就是 Firebase 不支持它们的原因之一。

相反,Firebase 有自己的 key 类型,称为推送 ID。就像你正在寻找的序列一样,它们是单调递增的,而且它们也保证是唯一的。但最大的区别在于推送 ID 与大多数 SQL 数据库的序列号不同,可以在客户端确定。

有关 Firebase 中数组(类似于序列)的更多信息,请参阅此博客文章:https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html .

有关 Firebase 的推送 ID 的更多信息,请参阅此博客文章:https://firebase.googleblog.com/2015/02/the-2120-ways-to-ensure-unique_68.html

如果您仍然决定必须使用顺序 ID,请在此处查看 Kato 的实现:http://jsfiddle.net/katowulf/5ESSp/ .其核心是在数据库中保留一个具有当前最高序列号的 counter 属性,然后使用事务来更新它。

关于ios - 如何在 Firebase 中创建自动递增键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39519021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com