Firestore使用文档和数组创建集合

时间:2019-12-30 12:54:37

标签: java android firebase google-cloud-firestore hashmap

有没有办法在单个DB调用中创建一个包含带有数组的单个文档的集合?

当用户开始新游戏时,我想使用selectedTeamName字符串作为文档名称将文档添加到游戏集合中。

在该文档中,我希望为每个正在播放的用户提供一个数组,该数组引用将为userId,并将包含用户cardNumberinitials的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侦听器来确定何时更改数据。

0 个答案:

没有答案