我正在使用Firestore
reference数据类型来存储对用户的引用,如下面的屏幕截图所示
User reference
Users collections
当我尝试查询这些数据时,我得到一个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>).map { toOrgMember(it) })
//.. more code
}
fun toOrgMember(map: Map): 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))
}
Stacktrace
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中找到任何参考类型的示例.
任何帮助,将不胜感激.