如何按任意字段搜索 Firebase 数据库?

How to search Firebase database by any field?

有什么方法可以通过任何实时 Firebase 数据库字段进行搜索吗?现在我知道如何通过 FP_CarNumber 进行搜索,但我想同时通过 SP_CarNumberSP_CarNumberFP_CarNumber 等其他人进行搜索。

    private void txtSearch(String str){
        FirebaseRecyclerOptions<MainModel> options =
                new FirebaseRecyclerOptions.Builder<MainModel>()
                        .setQuery(FirebaseDatabase.getInstance().getReference().child("Declaration_Data").child(currentuser).child("Declarations").orderByChild("FP_CarNumber").startAt(str).endAt(str + "\uf8ff"), MainModel.class)
                        .build();

        mainAdapter = new MainAdapter(options);
        mainAdapter.startListening();
        recyclerView.setAdapter(mainAdapter);

    }

实时数据库支持单字段查询属性。我已经在我的回答中解释过:

如何通过创建一个额外的字段来保留其他值来解决这种情况。不幸的是,该解决方法并不适用于所有情况。

除此之外,据我所知,Android 中没有库可以自动执行此操作。然而,有一个网络版,由 David East 编写,名为 Querybase

与实时数据库不同,Cloud Firestore allows compound queries。所以我建议你试试看。