我成功将下一个地图上传到 Firestore 数据库,例如
Map<String, Map<String,Map<String,Map<String,Boolean>>>> Fleet = new HashMap<>();
但我无法检索地图
Task<DocumentSnapshot>
方法。我不明白如何为这种地图创建对象。
- MainItem
- SubItem --
Item: Key - True/False
这是 Firebase Firestore 数据库中的结构。
为了实现这一点,我可以给你举一个例子。让我们看一个名为
users
的 POJO 类。这个类应该是这样的:
public class UserModel {
private String userEmail, userName;
private Boolean admin;
public UserModel() {}
public UserModel(String userEmail, String userName, Boolean admin) {
this.userEmail = userEmail;
this.userName = userName;
this.admin= admin;
}
public String getUserEmail() {return userEmail;}
public String getUserName() {return userName;}
public Boolean getAdmin() {return admin;}
}
要将用户添加到数据库,请使用以下代码:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
UserModel userModel = new UserModel("[email protected]", "DynamicMind", true);
rootRef.collection("users").document(userEmail).set(userModel)
我还使用了
Boolean
属性,以便看得更清楚。
与 Firebase Realtime 数据库中我们使用嵌套在其他对象之下的对象不同,在 Cloud Firestore 中我们使用
Collections
和 Documents
。所以,你的数据库将如下所示:
Firestore-root
|
--- users (collection)
|
--- [email protected] (document)
|
--- userEmail: "[email protected]" (property)
|
--- userName: "DynamicMind" (property)
|
--- admin: true
如果您想了解有关使用模型类构建 Cloud Firestore 数据库的更多信息,我建议您查看我的一个教程,其中我已逐步解释了如何实现这一目标。