我要做的是查找“ usuarios”等于“ amigos”的所有文档。
问题是“ amigos”是一个列表。我希望您携带在该列表中找到的所有Strings(amigos)的所有文档。
但是我得到这个错误:


  UNIMPLEMENTED:不支持的FieldFilter值类型:9


CollectionReference collectionReference = db.collection("eventos");

collectionReference.whereEqualTo("usuario", amigos).limit(15).orderBy("hora", Query.Direction.DESCENDING).get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {


enter image description here

最佳答案

之所以会出现此错误,是因为您试图使用unsupported类型的过滤器来过滤数据。您的amigos字段是ArrayList,不能用于过滤数据。 whereEqualTo()方法的第二个参数永远不能是ArrayList。您只能按supported data types进行过滤。不幸的是,Firestore不支持ArrayList。

另请参见Query.whereEqualTo(String field, Object value)


  创建并返回带有附加筛选器的新查询,该附加筛选器的文档必须包含指定的字段,并且该值应等于指定的值。

10-07 16:23