首页 > 解决方案 > 按数据范围和另一个过滤器搜索

问题描述

我正在寻找一种按日期范围和另一个过滤器搜索的方法,如下例所示。

protected void searchDB(Date dateInit, Date dateFinal, String name){
        db.collection("tagGroup")
                .whereGreaterThanOrEqualTo("validity", dateInit)
                .whereLessThanOrEqualTo("validity", dateFinal)
                .whereEqualTo("name", name)
                .get()
                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<QuerySnapshot> task) {
                        for (DocumentSnapshot document : task.getResult()) {
                            List<String> tags = (List<String>) document.get("uiiList");
                            tagsList.addAll(tags);
                        }
                        if (tagsList.size() == 0){
                            showToast("Nothing found", Toast.LENGTH_SHORT);
                            views.formCommon.fcEnabled();
                        }else {
                            inventoryList(tagsList);
                        }
                    }
                });
    }

文档中写着这不起作用,任何人都可以有一个想法来克服和解决这个问题吗?

标签: javaandroidfirebasegoogle-cloud-firestore

解决方案


我解决了它添加一个带有名称的 dateInitial 索引和一个带有名称的 dateFinal 索引。


推荐阅读