我对这篇文章有一个非常类似的问题 - Firebase Query filtered by creation time and where date is greater than now
我的日期存储在“消息”中,我希望在当前时间之后检索所有消息。
此查询有效:
Query myTopPostsQuery = mFirebaseDatabaseReference.child(MESSAGES_CHILD).orderByChild("time");
此查询不返回任何数据:
Query myTopPostsQuery = mFirebaseDatabaseReference.child(MESSAGES_CHILD).orderByChild("time").startAt(System.currentTimeMillis());
这似乎应该有效但是来自the docs我想知道这是否是数据类型问题?
答案 0 :(得分:2)
在您的查询中,您需要指定用于订购的子路径的完整路径:
orderByChild("date/time")
您表明您的第一个查询有效。它可能会返回您期望的消息数量,但如果您查看它们,您会发现它们没有订购。查询处理是宽容的。如果找不到由orderByChild()
标识的子项的值,则会为其分配值为null和orders by these rules。