我有一个有日期的数据列表。我通常查询按日期排序的数据。但是当我需要从中间键来回取回某些数据时,我处于这种情况。我有这样的日期(orderByChild("date")
)排序的数据:Firebase从中间键向上和向下查询数据
{
"key1":{
"date": "2016-07-25"
},
"key2":{
"date": "2016-07-26"
},
"key3":{
"date": "2016-07-27"
},
"key4":{
"date": "2016-07-28"
},
"key5":{
"date": "2016-07-29"
}
}
注:日期可以在未来也。每个日期可以有多个条目。两个日期之间可能有差距。
如果我知道key3
,我怎样才能检索一个以上key3
(即key2
)数据结束列表(即key5
)的?
因此,例如,
- 与KEY3 - > KEY2到KEY5(直到结束)。
- with key4 - > key3 to key5(until end)。
如何使用密钥查询密码,并按子女排序“date”。我有一个key2。从这我需要获取列表。
我试图在部分中获取结果,一个用于上部,另一个用于较低。但是,当我使用orderByChild("date")
时,我不能使用带键的endAt()
(Docs说:您可以结合startAt()
和endAt()
方法将结果限制在指定范围值)。
有什么办法可以检索基于关键的列表?在一个去或部分?
这是不可能的在任何语言甚至java也不允许你 firebase是不支持这个。 您可以手动使用for循环查找key3 –
可能有成千上万条记录,因此按键查找对性能不利。但有什么办法我可以查询它的两部分。 1以上的key3和全部以下的key3。那也可以。 – kirtan403
没有firebase是使用二进制搜索树算法,所以你没有必要担心firebase性能 –