我有一个Firebase数据库结构,如下所示:
/users
- abc001
- name: "Harry Watson"
- credentials:
- email: "h.watson@yahoo.com"
- abc002
- name: "Jason Polakow"
- credentials:
- email: "j.polakow_1@gmail.com"
- abc003
- name: "Madeleine Février"
- credentials:
- email: "mad_fev@gmail.fr"
- ...
我想让所有孩子都在第一层,例如:
- abc001
- abc002
- abc003
...
value
事件也会触发每个孩子的每个孩子(第二层和第三层)。 childAdded
事件也不是正确的选择,因为我只想接收一次数据(我不想听取数据更改/添加子项,......)。 /> childAdded
仅触发一次并返回第一个子项(abc001
)。 提前致谢。
答案 0 :(得分:1)
您的数据结构无法做到这一点。 Firebase实时数据库没有"浅层查询"。当您收听某个位置时,您将始终获得所有嵌套数据。有no plans来改变这种情况。
您可以在数据库中创建一个仅包含您要查找的数据的新位置。在NoSQL数据库中复制这样的数据是很常见的。你必须记住,只要其中一个副本需要更改,就可以保持所有副本的最新状态。