如何为Map下的Map创建Pojo类,用于firestore数据库

时间:2018-02-15 11:48:49

标签: android firebase google-cloud-firestore pojo

我成功地将一个nexted地图上传到firestore数据库,如

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

但我无法检索此地图任务方法。 我不明白如何为这种地图创建一个对象。

  • MainItem      - SubItem -           Item:Key - 真/假 这是firebase firestore数据库中的结构。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分: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("DynamicMind@email.com", "DynamicMind", true);
rootRef.collection("users").document(userEmail).set(userModel)

我还使用了Boolean属性,以便更清楚地看到。

与我们使用嵌套在其他对象下的对象的Firebase实时数据库不同,在Cloud Firestore中,我们使用CollectionsDocuments。因此,您的数据库将如下所示:

Firestore-root
    |
    --- users (collection)
          |
          --- DynamicMind@email.com (document)
                  |
                  --- userEmail: "DynamicMind@email.com" (property)
                  |
                  --- userName: "DynamicMind" (property)
                  |
                  --- admin: true

如果您想了解有关使用模型类构建Cloud Firestore数据库的更多信息,我建议您查看我的 tutorials 之一,其中我已逐步解释了如何实现此