【发布时间】:2017-06-05 12:42:30
【问题描述】:
我是使用 Firebase 的新手,我不知道如何做听起来很简单的事情:列出我数据库的所有最新条目。
这是我的数据库的截图:
所以,我正在尝试列出这样的最新条目:
// picturesRef = FIRDatabase.database().reference().child("pictures")
let _ = self.picturesRef.queryOrdered(byChild: "createdTime").queryLimited(toLast: 50).observe(.value, with: { snapshot in
// Stocking the result into picturesArr array
for elem in picturesArr {
print(elem.createdTime)
}
})
现在,当我显示每个项目的 createdTime 值时,我有类似的内容:
- 1484738582.0
- 1484000086.0
- 1484738279.0
- 1484734358.0
- 1484625525.0
- 1484728677.0
似乎没有从最旧的条目到最新的条目排序...
另外,当我将查询中的“createdTime”替换为“fieldThatDoesntExist”时,我得到了完全相同的结果。
有人会知道我在代码中哪里做错了吗?提前致谢!
【问题讨论】:
-
我解决了它改变我的日期格式,我像 2016/12/23, 2016/12/13, 2017,01/16 一样使用它。我看到你的代码是正确的。但我不知道您使用的时间格式以及是否可以按顺序对其进行排序。
-
感谢@MagoNicolasPalacios 的回答。我想日期格式应该不是问题,因为它是一个 Double 变量,查询应该从最大的 Double 到最小的排序结果。我仍然认为我的查询中有些地方不正确:-/
-
也许你是对的,而且你需要先将de输入到你拥有的ID child,然后按照child排序查询。
-
是的,我也在考虑这个问题,但我不知道如何动态获取我要列出的条目的键...
-
您应该首先为图片子项的每个循环输入一个以获取其所有 ID,然后按日期排序。
标签: swift firebase firebase-realtime-database