首页 > 解决方案 > 按特定值对用户进行排序

问题描述

我正在制作一个颤振应用程序,并且我正在使用 firebase 作为数据库。我有一些用户,我想按特定值对它们进行排序。-例如用户在视频游戏中的经验值或他们喜欢的硬币-

我想做一个排行榜。拥有最多“xp 点”的用户将位于顶部。

有没有可能用我当前的数据库模式来做到这一点?或者我必须更改我的架构并尝试其他方法?

我在firebase上用这条路径记录用户;

/users/%userid%/user_info/user_values/userXP

/users/%userid%/user_info/user_values/userCoin

我在“用户”文档中的所有用户都具有唯一的 ID。

标签: androidflutterdartfirebase-realtime-database

解决方案


听起来您应该能够执行以下操作:

var ref = FirebaseDatabase.instance.reference().child("users")
var query = ref.orderByChild("user_info/user_values/userXP");

然后监听child...或使用FirebaseList如下所示的:Flutter: Firebase Real-Time database orderByChild has no impact on query result


推荐阅读