查询子项具有属性的Firebase实时数据库

D b

我正在尝试查询Firebase实时数据库以查找用户所属的所有游戏。

我有一个列表games,每个游戏都有一个属性players的每个子项players都有一个$uid,并且在其中{key: $uid, name: "joe"}

是否可以通过这种方式获取所有游戏?还是我需要开始保留另一个索引players_games/$uid/$game

我已经尝试过firebase.database().ref('games').orderByChild('players').equalTo(token.uid),但这会产生null

看起来database.ref('games').orderByChild('players/${token.uid}')不错,但随后我需要授予.read对所有访问权限games,或者在服务器端进行访问。

树

弗兰克·范普菲伦

您当前的数据结构使查找特定游戏的所有用户变得容易。但是,这并不容易找到特定用户的所有游戏。为此,您需要添加一个附加数据结构来反转信息。

所以看起来像这样:

player_games: {
  "XDYNyN8il6TDsM4LuttwDzNuytj1": {
    "-M5vf...U5zK": true
  },
  "NxH14...mxY2": {
    "-M5vf...U5zK": true
  }
}

另请参阅:


我建议您还学习有关构建数据库的Firebase文档,特别是有关避免嵌套数据的部分通过像现在这样混合实体类型,您可能会遇到安全性和可伸缩性问题。

在Firebase数据库中建模多对多关系的最惯用的方法是使用四个顶级列表:

players: {
  $playerId: { ... }
}
games: {
  $gameId: { ... }
}
player_games: {
  $playerId: {
    $gameId: true
  }
}
game_players: {
  $gameId: {
    $playerId: true
  }
}

另请参阅:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Firebase 实时数据库编辑密钥并保留子项

来自分类Dev

带查询的Firebase实时数据库定价

来自分类Dev

通过函数查询到firebase实时数据库

来自分类Dev

Firebase 实时数据库:发布查询问题

来自分类Dev

查询 Firebase 实时数据库 Swift

来自分类Dev

Firebase 实时数据库查询不起作用

来自分类Dev

如何设置 Firebase 实时数据库的双重查询?

来自分类Dev

Firebase实时数据库列出Java中具有自动增量的数据

来自分类Dev

Flutter:Firebase实时数据库orderByChild对查询结果没有影响

来自分类Dev

如何从实时数据库firebase的单个列表视图中同时获取所有子项的详细信息

来自分类Dev

具有Express Backend的Firebase Auth和实时数据库

来自分类Dev

如何将价值与Firebase实时数据库的子项进行比较?

来自分类Dev

如何使用云函数在 Firebase 实时数据库中查找特定子项

来自分类Dev

如何遍历 Firebase 实时数据库中多个按键的子项?

来自分类Dev

如何检查 Firebase 实时数据库中是否存在子子项?

来自分类Dev

限制添加到 firebase 实时数据库中的子项数量

来自分类Dev

查询 Firebase 实时数据库时,哪个更有效:按键名查询,或按其值查询

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Firebase实时数据库-规则

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Android:Firebase实时数据库

来自分类Dev

Firebase 实时数据库的问题

来自分类Dev

Firebase 实时数据库帖子

来自分类Dev

Firebase 实时数据库读取所有现有数据

来自分类Dev

离线查询数据的实现及功能-实时数据库

来自分类Dev

AWS Lambda 中的 Firebase 实时数据库查询未获得最新结果

来自分类Dev

查询以检索各大洲 Firebase 实时数据库的国家/地区

来自分类Dev

您可以控制 firebase 实时数据库安全规则中的各个属性吗?

来自分类Dev

实时数据库

Related 相关文章

  1. 1

    Firebase 实时数据库编辑密钥并保留子项

  2. 2

    带查询的Firebase实时数据库定价

  3. 3

    通过函数查询到firebase实时数据库

  4. 4

    Firebase 实时数据库:发布查询问题

  5. 5

    查询 Firebase 实时数据库 Swift

  6. 6

    Firebase 实时数据库查询不起作用

  7. 7

    如何设置 Firebase 实时数据库的双重查询?

  8. 8

    Firebase实时数据库列出Java中具有自动增量的数据

  9. 9

    Flutter:Firebase实时数据库orderByChild对查询结果没有影响

  10. 10

    如何从实时数据库firebase的单个列表视图中同时获取所有子项的详细信息

  11. 11

    具有Express Backend的Firebase Auth和实时数据库

  12. 12

    如何将价值与Firebase实时数据库的子项进行比较?

  13. 13

    如何使用云函数在 Firebase 实时数据库中查找特定子项

  14. 14

    如何遍历 Firebase 实时数据库中多个按键的子项?

  15. 15

    如何检查 Firebase 实时数据库中是否存在子子项?

  16. 16

    限制添加到 firebase 实时数据库中的子项数量

  17. 17

    查询 Firebase 实时数据库时,哪个更有效:按键名查询,或按其值查询

  18. 18

    Firebase实时数据库addValueEventListener

  19. 19

    Firebase实时数据库-规则

  20. 20

    Firebase实时数据库addValueEventListener

  21. 21

    Android:Firebase实时数据库

  22. 22

    Firebase 实时数据库的问题

  23. 23

    Firebase 实时数据库帖子

  24. 24

    Firebase 实时数据库读取所有现有数据

  25. 25

    离线查询数据的实现及功能-实时数据库

  26. 26

    AWS Lambda 中的 Firebase 实时数据库查询未获得最新结果

  27. 27

    查询以检索各大洲 Firebase 实时数据库的国家/地区

  28. 28

    您可以控制 firebase 实时数据库安全规则中的各个属性吗?

  29. 29

    实时数据库

热门标签

归档