检索用户数据以在Firebase iOS中创建排行榜

我正在尝试使用Google Firebase数据库创建排行榜,并已将我的用户及其分数成功添加到数据库中,如下图所示。 我试图通过Person 8将Person 1的数据检索到我的代码中的数组中,然后从那里我可以对它们进行排序并将它们添加到我的排行榜中。 我不确定如何系统地检索用户及其分数而不知道他们的孩子名字,因为用户将输入他们自己的名字。 任何帮助将非常感激。

我的Firebase数据库的图片

这应该按照分数的升序检索/打印用户。

usersRef.queryOrderedByValue().observe(.value, with: { (snapshot) in for child in snapshot.children { print((child as! DataSnapshot).key) } }) 

对我来说这打印:

人4

人1

人2

人3

人5

人7

人6

人8

对于排行榜,您可能希望限制检索的用户数量:

 _usersRef.queryOrderedByValue().queryLimited(toLast: 10).observe(.value) { snapshot in ... 

这将返回前10个分数,仍按升序打印。 要按降序排列它们,您必须在客户端中反转它们。