如何在Firebase中使用通配符?

Hou*_*man 6 ios firebase swift firebase-realtime-database

这是我的Firebase数据库结构:

ft-records
  userX@gmail_com
    2013-01-01 00:00:00 GMT
        addedByUser: "userX@gmail.com"
        notes: "Boooo"
        time: "2013-01-01 00:00:00 GMT"
    2013-01-02 10:00:00 GMT
        addedByUser: "userX@gmail.com"
        notes: "Yeaah"
        time: "2013-01-02 10:00:00 GMT"
  userY@gmail_com
    2013-01-01 03:00:00 GMT
        addedByUser: "userY@gmail.com"
        notes: "Ok"
        time: "2013-01-01 03:00:00 GMT"
Run Code Online (Sandbox Code Playgroud)

我可以为经过身份验证的用户查询此数据,例如userX @ gmail_com

let userRecords = self.ref.child(self.user.email.replacingOccurrences(of: ".", with: "_", options: .literal, range: nil))

userRecords.queryOrdered(byChild: "time").queryStarting(atValue: startOfDayDateString).queryEnding(atValue:endOfDayDateString).observe(FIRDataEventType.value, with: { snapshot in ... } )
Run Code Online (Sandbox Code Playgroud)

但是,如果我想查询所有用户在特定日期的所有笔记,我该如何实现?

我需要以某种方式使用通配符从根读取所有孩子,然后按每个孩子的时间查询.但我不知道该怎么做.

我可以这样做吗?

let ref = FIRDatabase.database().reference(withPath: "ft-records/*")
Run Code Online (Sandbox Code Playgroud)

Fra*_*len -2

您可以使用 Firebase 数据库查询来实现这一点。

let ref = FIRDatabase.database().reference(withPath: "ft-records")
let query =ref.queryOrdered(byChild: "time").queryStarting(atValue: "2013-01-02 00:00:00 GMT").queryEnding(atValue: "2013-01-02 23:59:59 GMT")
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅有关过滤数据的 Firebase 文档适用于 iOS 的 Firebase Codelab