如何为Firestore数据库的Map Under Map创建Pojo类

问题描述 投票:0回答:1

我成功将下一个地图上传到 Firestore 数据库,例如

 Map<String, Map<String,Map<String,Map<String,Boolean>>>> Fleet = new HashMap<>();

但我无法检索地图

Task<DocumentSnapshot>
方法。我不明白如何为这种地图创建对象。

- MainItem
    - SubItem --
        Item: Key - True/False

这是 Firebase Firestore 数据库中的结构。

android firebase google-cloud-firestore pojo
1个回答
0
投票

为了实现这一点,我可以给你举一个例子。让我们看一个名为

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 数据库的更多信息,我建议您查看我的一个教程,其中我已逐步解释了如何实现这一目标。

© www.soinside.com 2019 - 2024. All rights reserved.