我的任务带有可选的 signedDay
子项。当我使用 ref.child('tasks').orderByChild('assignedDay').endAt([timestamp])
(其中时间戳是我试图限制的时间)时,我会取回所有任务没有 assignedDay
子项。我没想到这一点。有没有办法将查询限制为仅具有 assignedDay
子项的值,或者我是否需要设置一个额外的 scheduled
子项作为过滤依据?
最佳答案
由于您没有指定范围查询的起始位置,因此数据库将返回从集合起始位置到您指定的结束值之间的所有子项。
为此,您可以将 startAt
与 endAt
结合使用。
ref.child('tasks')
.orderByChild('assignedDay')
.startAt(0)
.endAt([timestamp])
参见https://firebase.google.com/docs/database/web/lists-of-data#data-order
关于javascript - 当并非所有键都有子项时,按日期查询 Firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42043864/