【发布时间】:2020-01-06 11:12:11
【问题描述】:
以上是集合“网络”的结构。想要做的是在“用户”字段中添加另一个元素。这是HashMap。我要实现的是 Key= xyz@gmail.com 及其值 {displayName: "Anirudh Kumar", "role":"admin"}。
xyz@gmail.com 显示名称:“阿尼鲁德·库马尔” 角色:“管理员”
我尝试了几件事,但似乎没有用。
第一个选项
Map<String, Network.NetworkUser> users = new HashMap<>();
users.put(email, networkUser);
db.collection("networks").document("id")
.update("users",FieldValue.arrayUnion(users));
第二个选项
db.collection("networks").document(userNetwork.getNetworkUid())
.set(users,SetOptions.merge());
第三个选项
db.collection("networks").document(userNetwork.getNetworkUid())
.update("users."+email,networkUser);
第三个选项让我更接近答案,但由于电子邮件中的点 [.] 它会创建另一行,请告诉我是否可以通过某种方式避免这种情况。
如果有人可以帮助我如何实现预期的目标,将不胜感激。谢谢。
【问题讨论】:
-
您可能需要编辑帖子中显示的电子邮件地址。
-
没关系@TeymourAldridge..
-
@TeymourAldridge 但是考虑到他用于 StackOverflow 的用户名,OP 的电子邮件地址很容易猜到。
-
我只是在检查以确保它没有被意外包含错误。
-
感谢您对@TeymourAldridge 的关注。您能帮我解决问题吗?
标签: java android firebase google-cloud-firestore