【问题标题】:Firebase, Swift: Fetch snapshot based on specific valueFirebase,Swift:根据特定值获取快照
【发布时间】:2018-01-21 18:00:52
【问题描述】:

我有一个 Firebase 数据集:

  • 用户
    • QZqFzWxpdMfc0xmyIq5IDAr1bzr2
      • 凭证
        • 电子邮件:“myemail@gmail.com”
        • 用户名:“我的用户名”
    • RJasdfasfasdad3dadaewdsdkdq3dk
      • 凭证
        • 电子邮件:“another@gmail.com”
        • 用户名:“”另一个

还有一个快照查询:

    FIRDatabase.database().reference().child("users").observe(.childAdded, with: { (snapshot) in

如何进行查询以便只返回用户名为“MyUsername”的用户的 ID?

例如我可以这样做吗:

let query = "/*/credentials/[username=MyUsername]"
FIRDatabase.database().reference().child("users").child(query)

【问题讨论】:

  • RJasdfasfasdad3dadaewdsdkdq3dk ,userId 是什么?
  • 它是一个数组,只需循环并获取所有用户名
  • @ĐinhQuangHiếu 这将适用于 > 500 万用户

标签: swift firebase firebase-realtime-database


【解决方案1】:

要仅获取与特定用户名匹配的用户节点,您需要一个查询:

FIRDatabase
  .database().reference()
  .child("users")
  .queryOrdered(byChild: "credentials/username")
  .queryEqual(toValue: "MyUsername")
  .observe(.childAdded, with: { (snapshot) in

另见Firebase documentation on ordering and filtering data

【讨论】:

    猜你喜欢
    • 2018-09-26
    • 2020-07-19
    • 1970-01-01
    • 2018-07-10
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    相关资源
    最近更新 更多