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

gpfsuwkq  于 2023-06-21  发布在  Swift
关注(0)|答案(1)|浏览(97)

有人能告诉我如何从下面的firebase节点设置中获取所有的子节点0yV3uJZAoDWCZNHuRgxrUlKYFgz1吗?

我有以下代码:

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

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

ffscu2ro

ffscu2ro1#

您的查询当前开始和结束于userId,这意味着您只得到一个节点。
如果你想让所有的节点都以userId的值**开始,你需要在下一个节点结束。常见的技巧是:

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

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

相关问题