【发布时间】:2018-01-24 13:35:40
【问题描述】:
当我尝试查询数据时,我从 Firebase 收到了这个奇怪的异常。这个错误偶尔会发生。有时它工作得非常好,但有时 task.isSuccessful 返回 false。 attrs 是一个字符串数组字段,在 Firestore 中有 2 个项目。是因为在字符串数组上使用whereEqualTo 而发生的吗?还是我错过了什么?
我使用this link 作为指导。我真的很想了解为什么会出现此错误。谢谢。
代码:
val queryOrderedAttributeList = attributeList
.sortedBy { cardAttribute -> cardAttribute.name }
.map { it.name.toLowerCase() }
val db = FirebaseFirestore.getInstance()
val collectionRef = db.collection("dbAllCards")
val query = collectionRef.whereEqualTo("attrs", queryOrderedAttributeList)
query.get().addOnCompleteListener { task ->
if (task.isSuccessful) {
task.result.forEach { document: DocumentSnapshot? ->
document?.id?.let { cardList.add(it) }
Log.e("firebase", "${document?.id} -> ${document?.data}")
}
} else {
Log.d("firebase", "Error getting documents: ", task.exception)
}
loadCardPathList(cardList)
}
获取文档时出错:
com.google.firebase.firestore.FirebaseFirestoreException: UNIMPLEMENTED: Unsupported FieldFilter value type: 9
at com.google.android.gms.internal.zzevs.zzf(Unknown Source)
at com.google.android.gms.internal.zzenb.zza(Unknown Source)
at com.google.android.gms.internal.zzeoa.zza(Unknown Source)
at com.google.android.gms.internal.zzenf.zza(Unknown Source)
at com.google.android.gms.internal.zzett.zza(Unknown Source)
at com.google.android.gms.internal.zzett.zza(Unknown Source)
at com.google.android.gms.internal.zzetu.zzb(Unknown Source)
at com.google.android.gms.internal.zzeup.zzcg(Unknown Source)
at com.google.android.gms.internal.zzeth.zzcg(Unknown Source)
at com.google.android.gms.internal.zzevi.zzch(Unknown Source)
at com.google.android.gms.internal.zzfmg.zzch(Unknown Source)
at io.grpc.internal.zzac.zzdep(Unknown Source)
at io.grpc.internal.zzaq.run(Unknown Source)
at io.grpc.internal.zzeo.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at com.google.android.gms.internal.zzeuu$zza.run(Unknown Source)
at java.lang.Thread.run(Thread.java:761)
Caused by: com.google.adroid.gms.internal.zzfk: UNIMPLEMENTED: nsupported ieldFilter value ype: 9
at com.google.android.gms.internal.zzfof.zzddl(Unknown Source)
at com.google.android.gms.internal.zzevs.zzf(Unknown Source)
at com.google.android.gms.internal.zzenb.zza(Unknown Source)
at com.google.android.gms.internal.zzeoa.zza(Unknown Source)
at com.google.android.gms.internal.zzenf.zza(Unknown Source)
at com.google.android.gms.internal.zzett.zza(Unknown Source)
at com.google.android.gms.internal.zzett.zza(Unknown Source)
at com.google.android.gms.internal.zzetu.zzb(Unknown Source)
at com.google.android.gms.internal.zzeup.zzcg(Unknown Source)
at com.google.android.gms.internal.zzeth.zzcg(Unknown Source)
at com.google.android.gms.internal.zzevi.zzch(Unknown Source)
at com.google.android.gms.internal.zzfmg.zzch(Unknown Source)
at io.grpc.internal.zzac.zzdep(Unknown Source)
at io.grpc.internal.zzaq.run(Unknown Source)
at io.grpc.internal.zzeo.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at com.google.android.gms.internal.zzeuu$zza.run(Unknown Source)
at java.lang.Thread.run(Thread.java:761)
【问题讨论】:
标签: android firebase kotlin google-cloud-firestore