Firestore查询Android WhereEqualTo

时间:2018-02-14 06:27:01

标签: java android firebase google-cloud-firestore

我想要做的是查找所有文件" usuarios"等于" amigos"。 问题在于" amigos"是一个清单。我希望您带上您在该列表中找到的所有字符串(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

1 个答案:

答案 0 :(得分:1)

您收到该错误是因为您尝试使用unsupported类型过滤器过滤数据。您的amigos字段为ArrayList,不能用于过滤数据。 whereEqualTo()方法的第二个参数永远不能是ArrayList。您只能按supported data types进行过滤。不幸的是,Firestore不支持ArrayList。

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

  

创建并返回一个新的Query,其中包含文档必须包含指定字段的附加过滤器,并且该值应等于指定的值。