并非所有密钥都包含子项时按日期查询Firebase

时间:2017-02-04 18:18:20

标签: javascript firebase firebase-realtime-database

我有一个可选的assignedDay孩子的任务。当我使用ref.child('tasks').orderByChild('assignedDay').endAt([timestamp])时间戳是我试图限制的时间时,我会返回所有没有assignedDay子项的任务。我没想到这一点。有没有办法将查询限制为只有assignedDay子项的值,或者我是否需要设置一个额外的scheduled子项来过滤?

1 个答案:

答案 0 :(得分:2)

由于您未指定范围查询的开头,因此数据库会将所有子集从集合的开头返回到您指定的结束值。

您可以将startAtendAt结合使用。

ref.child('tasks')
   .orderByChild('assignedDay')
   .startAt(0)
   .endAt([timestamp])

请参阅https://firebase.google.com/docs/database/web/lists-of-data#data-order