有没有办法在单个DB调用中创建一个包含带有数组的单个文档的集合?
当用户开始新游戏时,我想使用selectedTeamName
字符串作为文档名称将文档添加到游戏集合中。
在该文档中,我希望为每个正在播放的用户提供一个数组,该数组引用将为userId
,并将包含用户cardNumber
和initials
的2个字段。 / p>
所以我想要
:收藏-“游戏”:
文档-“ selectedTeamName”:
数组-
“ userId”:[“ selectedCard”,1,“ initials”,Init}
“ userId”:[“ selectedCard”,6,“ initials”,Init2}
等
目前,我正在使用一种解决方法,因为我无法弄清楚如何添加collection> document> array。我当前的结构太深,因此我正在寻找一种更清洁的选择。
我当前的解决方案是在团队文档中使用“无数组”创建一个“ activeGame”,但深度为5级-似乎过多:
Map<String, Object> data = new HashMap<>();
data.put("selectedcard", cardNumber);
data.put("initials", userInitials);
data.put("userid", userId);
db.collection("teams").document(selectedTeamName).collection("activegame").document(userId).set(data);
Map<String, Object> data1 = new HashMap<>();
data1.put(emptyfield, "");
db.collection("teams").document(selectedTeamName).collection("activegame").document(emptydoc).set(data1);
用户加入游戏后,我正在使用DB侦听器来确定何时更改数据。