gpt4 book ai didi

java - Firebase - 在实时数据库中重新排序条目的最佳方式

转载 作者:行者123 更新时间:2023-11-29 23:41:08 25 4
gpt4 key购买 nike

我正在尝试构建一个队列管理应用程序。我使用 Firebase push() 将新条目添加到 Firebase 实时数据库中。插入顺序是我的默认设置。

对于特定场景 - 我想将某些元素向下推 2 或 3 步。最好的方法是什么?我需要使用 firebase 函数吗?或者我需要一个单独的服务器来处理这个逻辑吗?

例子:比如说,我有一组来自不同客户端应用程序的 10 个推送请求,他们想要进入队列。当客户没有到达时,我想将他们推到队列中的 5-7 个位置。

在没有服务器的情况下有没有好的方法来处理这些情况

我试图将逻辑放在客户端,但我想如果客户端在使用手机时掉线,那也无济于事。

此外,我没有将队列编号设置为子元素,因为插入顺序由 firebase 处理。如果 2 个以上的客户端试图同时进入队列,我猜队列# 会产生冲突的条目。不确定这是否是正确的方法。

最佳答案

不幸的是,您无法更改 Firebase Console 中节点的顺序.默认情况下,所有节点都是按键排序的。如果您需要按特定条件对数据库元素进行排序,只需在项目对象中添加另一个属性,这将帮助您构建一个查询,以按照您想要的顺序检索项目。假设您想按时间戳对商品进行排序,并且您的数据库结构如下所示:

Firebase-root
|
--- users
|
--- uid
|
--- name: "John"
|
--- age: 22
|
--- creationDate: 1534424049

要按创建日期对用户进行排序,您应该使用如下所示的查询:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("users").orderByChild("creationDate");

关于java - Firebase - 在实时数据库中重新排序条目的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51860749/

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