我需要避免表中的数据重复。
如果新用户在存在“类别”字段数据时向数据库添加一些信息,则需要显示该数据已存在于数据库中。
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();
}
});
}
我需要检查是否存在类别数据字段。
答案 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()