我正在使用 Firestore参考 https://firebase.google.com/docs/firestore/manage-data/data-types用于存储对用户的引用的数据类型,如下面的屏幕截图所示
用户参考
用户收藏
当我尝试查询这些数据时,我得到了ClassCastException
(我尝试投射到String
只是为了它)。
Code
//.. this function reads data from DocumentSnapshot
//.. and converts to an Organization
private fun DocumentSnapshot.toOrganization(): Organization {
//.. some code
(this.data["members"] as ArrayList<HashMap<String, Any>>).map { toOrgMember(it) })
//.. more code
}
fun toOrgMember(map: Map<String, Any>): OrgMember {
//map["user"] as String throws ClassCastException. Refer first screenshot
return OrgMember(map["id"] as Long, UserRef(map["user"] as String), map["type"] as String,
asJobTitlesList(map["jobTitles"] as String))
}
堆栈跟踪
10-14 20:31:17.503 15569-15569/com.a.b W/System.err: Caused by: java.lang.ClassCastException: com.google.android.gms.internal.zzegf cannot be cast to java.lang.String
10-14 20:31:17.504 15569-15569/com.a.b W/System.err: at feature.model.core.CoreUtilsKt.toOrgMember(CoreUtils.kt:28)
10-14 20:31:17.504 15569-15569/com.a.b W/System.err: at feature.model.organization.OrgRemoteKt.toOrganization(OrgRemote.kt:55)
我应该将引用数据类型转换为哪个类? (com.google.android.gms.internal.zzegf
似乎是一个不应该使用的内部类)
截至目前,我在中没有找到任何示例docs https://firebase.google.com/docs/firestore/query-data/get-data作为参考类型。
任何帮助,将不胜感激。
从集合中获取引用时,Firestore 会返回 DocumentReference。如果将转换更改为 DocumentReference 不起作用,请跟踪此情况issue https://groups.google.com/forum/#!topic/google-cloud-firestore-discuss/bk3oX1RIleU.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)