在事件项目的整个过程中,我实现了两种在Firebase实时数据库中为每个事件创建ID的方式。在最初的几周中,我使用的是在客户端上生成的随机UUID标识符,但问题是使用这些ID添加的节点未正确排序(由于UUID的随机性和Firebase实时数据库的某些排序机制)。因此,我迁移到客户端仍然使用Firebase SDK生成的.push()密钥。由于它们基于时间戳,因此我可以保留时间顺序。不幸的是,那些.push ID与我的旧版UUID ID不能很好地配合使用-它们相互缠绕在一起,而我想要“附加”行为。我尝试在.push()id(例如“ 9999”或“ ZZZZZZ”)中添加一些前缀,以使它们始终被Firebase移到底部,但是此实验的较差结果显示在下面的屏幕快照中。我的问题是:
节点内部Firebase实时数据库ID的排序机制是什么?似乎并不像其他人所建议的那样是字典式的。
如何迁移到.push()id,数据库中已经有UUID id,并强制执行新闻id的“追加”行为?知道合适的前缀吗?