Похоже, у вас есть Collection
, называемый "myawesomenode", и вы пытаетесь создать Document
внутри этого Collection
с идентификатором, равным teamID
.Внутри этого Document
вы хотите, чтобы список или карта «UserIds» были связаны с логическим значением.
Лично я думаю, что проще использовать POJO при выполнении транзакций базы данных Firebase.Вы можете создать объект «Команда» (или как вы хотите его назвать), и внутри этого объекта вы можете иметь, например, переменную HashMap<String, Boolean>
с именем «teamStatus».Затем вы можете просто внести изменение в карту «teamStatus» через документ «Team», выбранный по значению teamID
, чтобы просто изменить «userStatus» 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 непосредственно в удобную форму.