是不是可以在queryStartinAtValue和queryEndingAtValue的组合中查询Firebase数据库子项(而不是键)?

时间:2016-07-31 09:04:52

标签: ios swift firebase firebase-realtime-database

我想查询我的数据,以便得到timeStamps在我想要的timeStamps范围内的对象。

我的JSON数据是:

"-KHbFGKIyefgWKEmlkY1" : {
      "createdAt" : 1463094941,
      "customer" : "user1",
      "professional" : "professional1",
      "service" : "service2",
      "startsAt" : 1470070000,
      "status" : "WaitingForApproval"
    }

我的查询代码:

let minimumDesiredTimeStamp = 1470000000
let maximumDesiredTimeStamp = 1480000000

ref.queryOrderedByChild("startsAt")
   .queryStartingAtValue(minimumDesiredTimeStamp)
   .queryEndingAtValue(maximumDesiredTimeStamp)
   .observeSingleEventOfType(.Value, withBlock: { (snapshotOfChildrenWhichStartsAtTimeStampRange) in 

})

问题是查询永远不会跳转到闭包中。 如果使用当前的Firebase无法实现,您能否就如何实现这一目标提出建议?

注意:目前,我通过仅使用 queryOrderedByChild queryStartingAtValue 进行查询然后过滤其开头的对象来解决问题在Swift数组的过滤方法的帮助下,时间超出了我的范围。

NOTE2 :当我再次使用硬编码值尝试代码时,我意识到查询确实有效。所以我似乎错误地识别了问题和其他导致查询没有跳进闭包的东西。 所以记住:结合 queryOrderedByChild 查询子值。 queryStartingAtValue queryEndingAtValue 有效!

0 个答案:

没有答案