如何在 Swift 中使用“like”查询样式读取 Firebase Realtime DB

How to read from a Firebase Realtime DB with a 'like' query style in Swift

提问人:Learn2Code 提问时间:6/8/2023 最后编辑:Frank van PuffelenLearn2Code 更新时间:6/8/2023 访问量:34

问:

有人可以告诉我如何从以下 firebase 节点设置中获取所有子项:0yV3uJZAoDWCZNHuRgxrUlKYFgz1

enter image description here

我有以下代码:

self.groupRef
  .child(groupId)
  .queryOrderedByKey()
  .queryStarting(afterValue: userId)
  .queryEnding(beforeValue: userId)
  .observeSingleEvent(of: .value, with: { snap in
               
  })

我想获取 and 作为用户 ID 的一部分。-1-2

iOS Swift Firebase 火力库实时数据库

评论


答:

0赞 Frank van Puffelen 6/8/2023 #1

您的查询当前以 开始和结束于 ,这意味着您只获得一个节点。userId

如果要使所有节点都值 开头,则需要在下一个节点处结束。常见的诀窍是:userId

self.groupRef
  .child(groupId)
  .queryOrderedByKey()
  .queryStarting(afterValue: userId)
  .queryEnding(beforeValue: userId+"~") // 👈
  .observeSingleEvent(of: .value, with: { snap in
               
  })

这里不是魔术运算符,而只是 ASCII 表中的最后一个字符之一。~

评论

0赞 Learn2Code 6/8/2023
谢谢!!谁会教使用它.再次感谢!trick