基于复选框数据的Firestore查询

时间:2020-06-11 20:06:52

标签: java android firebase google-cloud-firestore

我有一个用户端和一个业务端android应用程序连接到相同的Firestore数据库。 在两个应用程序中,我都显示了由10个复选框组成的相同表单。在业务端应用程序中,复选框的结果存储在业务供应商的用户配置文件中。如果假设他已选中1,3,7,9框。并且客户通过选中框3和7进行查询,他必须查看已选中1,3,7,9的供应商资料。我该如何实现?

我设法添加了供应商复选框数据,如下所示:

Map<String,Object> map=new HashMap<>();
                map.put("item 1",item1.isChecked());    //IS CHECKED IS WORKING!!
                map.put("item 2",item2.isChecked());
                map.put("item 3",item3.isChecked());
                map.put("item 4",item4.isChecked());
                map.put("item 5",item5.isChecked());
                map.put("item 6",item6.isChecked());
                map.put("item 7",item7.isChecked());
                map.put("item 8",item8.isChecked());
                map.put("item 9",item9.isChecked());
                map.put("item 10",item10.isChecked());

                String userId = FirebaseAuth.getInstance().getCurrentUser().getUid();
                CollectionReference collectionReference=db.collection("vendorUsers");

                    collectionReference.document(userId).collection("vendorAbility").add(map)
                            .addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                                @Override
                                public void onSuccess(DocumentReference documentReference) {

                                    //success
                                }
                            })
                            .addOnFailureListener(new OnFailureListener() {
                                @Override
                                public void onFailure(@NonNull Exception e) {

                                }
                            });

由于item1.isChecked()是布尔值,因此我可以将供应商数据存储在Firestore中,例如:

item1:true
item2:false
item3:true
item4:false
item5:false   
item6:false
item7:true
item8:false
item9:true
item10:false

我得到这个数据时复选框1,3,7,9进行检查。 关于如何查询此数据的任何见解都会很有帮助

编辑:获取供应商数据可能不是问题。问题是如何使用Checkbox的用户输入从客户端进行查询

0 个答案:

没有答案
相关问题