Firebase Firestoreの参照データ型を照会する方法は?
ユーザー参照
下のスクリーンショットに示すように、私は、ユーザーへの参照を格納するためにFirestore referenceデータ型を使用していますユーザーコレクション
このデータを照会しようとすると、ClassCastException
(私はString
にキャストしようとしました)を取得します。
コード
//.. 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))
}
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で例は見つかりませんでした。 ご協力いただければ幸いです。
あなたが要求したコードを追加しました。それが役に立つと願っています。 –