【问题标题】:Firebase Firestore read nested object values in Java (Android)Firebase Firestore 读取 Java (Android) 中的嵌套对象值
【发布时间】:2018-10-15 15:00:07
【问题描述】:

我试图在我的 Android 项目中从 Cloud Firestore 读取嵌套值,但我找不到任何有关如何执行此操作的文档。

示例文档:

这是我尝试过的:

Object myMap = documentSnapshot.get("my-map");
Timestamp myTimestamp = ((DocumentSnapshot) myMap).getTimestamp("my-timestamp");
Date myDate = myTimestamp.toDate();

这不起作用,因为 myMap 不能转换为 DocumentSnapshot

所以我的问题是:

如何将my-timestamp 字段读取为Date 对象?

【问题讨论】:

    标签: java android firebase google-cloud-firestore


    【解决方案1】:

    其实我是在写问题的时候想出来的,答案很简单。

    documentSnapshot.get("my-map")的返回值可以强制转换为Map,可以用来读取嵌套属性。

    Map<String, Object> myMap = (Map<String, Object>) documentSnapshot.get("my-map");
    Date myDate = (Date) myMap.get("my-timestamp");
    

    【讨论】:

      【解决方案2】:

      获取日期的更简单方法是使用 DocumentSnapshot 的 getDate() 方法:

      将字段的值作为日期返回。

      代码应该是这样的:

      Date myTimestamp = documentSnapshot.getDate("my-timestamp");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-12
        • 2023-02-04
        • 1970-01-01
        • 2020-11-09
        • 2020-12-11
        • 1970-01-01
        相关资源
        最近更新 更多