如何检查firebase数据库中的子项?

时间:2017-11-18 18:11:51

标签: android firebase firebase-realtime-database

我需要避免表中的数据重复。 here is the database

如果新用户在存在“类别”字段数据时向数据库添加一些信息,则需要显示该数据已存在于数据库中。

   if(!group_link.isEmpty()&&!group_name.isEmpty()&&e2.length()<=50 && e2.length()>=40&&(e2.getText().toString().contains("https://chat.whatsapp.com/"))) {
                HashMap<String, String> datamap = new HashMap<String, String>();
                datamap.put("category", selected_item);
                datamap.put("group_name", group_name);
                datamap.put("group_link", group_link);
                datamap.put("group_type",group_type);
                datamap.put("language",language);
                datamap.put("report_status",count);
                mref.push().setValue(datamap).addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        if (task.isSuccessful()) {
                            Toast.makeText(Usr_add.this, "Data Submited successfully :) ", Toast.LENGTH_SHORT).show();
                            e1.setText("");
                            e2.setText("");
                        } else
                            Toast.makeText(Usr_add.this, "Something Wrong :( ", Toast.LENGTH_SHORT).show();
                    }
                });
            }

我需要检查是否存在类别数据字段。

1 个答案:

答案 0 :(得分:0)

 DatabaseReference rf = FirebaseDatabase.getInstance().getReference();
DatabaseReference retrieve = 
rf.child("type").child("Whatsapp").child("Shopping deals");
retrieve.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
    for(DataSnapshot getdata : dataSnapshot.getChildren()){
        if (getdata.child("category").exists()) {
              Toast.makeText(this,"Stop it exists!!!",Toast.LENGTH_SHORT).show();

        }}else{

        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
});

首先您在shopping deals上进行查询,因为有一个随机密钥,您需要for循环才能到达name:value。然后使用exists(),您可以查看firebase数据库中是否存在任何属性。在这种情况下,我们使用category

检查child("category")是否存在

如果它存在,则将Toast添加到您想要的用户或watever ..如果它不存在,则可以使用setValue()

将其添加到数据库