我有一个使用Firestore Recyclerview Adapter的recyclerview,现在我想使用OR查询显示列表。 例如,我想使用查询显示处于“待处理”状态或“已分配”状态的列表。我知道firestore没有内置的OR查询,但无论如何我都想实现。任何其他解决方案。
我在firestore db中存储了4个状态:待处理,已分配,已接受和已完成。 只想显示待定或已分配
下面是我的代码:
Query query = requestVehiclesCollectionReference
.whereEqualTo("clientId", id)
// show list which are in Pending state or Assigned state
.whereEqualTo("status", "Pending")
.orderBy("createdAt", Query.Direction.DESCENDING);
FirestoreRecyclerOptions<Item> options = new
FirestoreRecyclerOptions.Builder<Item>()
.setQuery(query, Item.class)
.build();
答案 0 :(得分:0)
Firestore不支持具有OR条件的查询。参见:
常见的解决方法是使用多个查询(每个条件一个)并将结果合并到应用程序代码中。
FirebaseUI的适配器显示单个查询或集合中的数据。他们无权显示多个查询/集合的结果。
通过这种组合可以得出结论,您无法使用单个FirebaseUI适配器显示来自OR条件的数据。您必须为此创建自己的适配器,尽管您当然可以使用(开源)FirebaseUI适配器来获得灵感。