因此,看起来您有一个Collection名为“myawesomenode”的节点,并且您正在尝试在其中创建一个DocumentidCollection为teamID. 在其中,Document您希望将“UserIds”列表或映射链接到布尔值。
就个人而言,我认为在进行 Firebase 数据库事务时使用 POJO 更容易。例如,您可以创建一个“团队”对象(或任何您想命名的对象),并且在该对象中您可以有一个HashMap<String, Boolean>名为“teamStatus”的变量。然后,您可以通过其teamID值选择的“团队”文档将更改推送到“团队状态”映射,以根据需要修改“用户状态” HashMap。不过,您将手动管理整个地图。
class Team {
public Map<String, Boolean> teamStatus;
}
myawesomenode
- <thatTeamIDValue>
- teamStatus
-<key0>:<value0>
-<key1>:<value1>
或者,您可以执行以下操作:
class Team {
public List<MemberStatus> memberStatusList;
public String someOtherString;
}
class MemberStatus {
public String id;
public boolean isRegistered;
public String name;
/// other things
}
myawesomenode
- <thatTeamIDValue>
- memberStatusList
- 0
- id:<idValue>
- isRegistered:true
- name:DaName
- 1
- id:<idValue>
- isRegistered:false
- name:DaOtherName
-someOtherString:SomeOtherValue
...然后您可以只查询该结构。
这真的是关于你想如何构建你的 no-sql 数据库。查看有关 Firebase no-sql 的一些文档,它会让您更好地了解如何构建数据以满足您的确切需求。
编辑:POJO 样式还允许您轻松地发送数据以更新 JSON 字符串响应并将其直接转换为可用的形式。