Firebase – 如何检索date范围内的对象?

我有Firebase中的下一个JSON结构:

{ "-KGX6kYg1NO6d9hn-8um" : { "phase" : "A", "timestamp" : "12-18-2015 19:43:37" }, "-KGXOGSxa3vompZX9UO_" : { "phase" : "B", "timestamp" : "03-28-2016 15:28:21" }, "-KMUvszD-vm3Nu02sofd" : { "phase" : "A", "timestamp" : "04-03-2014 03:57:56" } } 

是否有可能通过timestamp键来过滤date范围内的对象?..例如,我想从2015年1月到今天的date获取具有时间戳的对象。 如果不可能,有什么更好的方法来过滤对象的date?…我正在开发一个iOS应用程序。

谢谢。

您可以按照timestampsorting快照数据,并定义您希望从中获取数据的timestamp timestamp限制。 例如,你想要一个特定的时间戳timestamp1所有数据,你的引用处理程序应该是这样的:

 let refHandle = tableRef.queryOrderedByChild("timestamp").queryEndingAtValue("timestamp1").observeEventType(FIRDataEventType.Value, withBlock: { (snapshot) in for item in snapshot.children { } }) 

您也可以通过添加queryLimitedToLastqueryLimitedToFirst来应用您想要的logging数量,如:

  let refHandle = tableRef.queryOrderedByChild("timestamp").queryEndingAtValue("some_time_stamp").queryLimitedToLast(kPostLimit + 1).observeEventType(FIRDataEventType.Value, withBlock: { (snapshot) in for item in snapshot.children { } }) 

另外,您还想看看以下关于Firebase中常见SQL查询的文章。