我有一个基于Firebase数据库的应用聊天,我想知道是否已经存储了特定的值。
根据上述结构,如何防止将两个相等的值(红色)插入同一个孩子(蓝色)?
编辑
我解决了以下问题: 1)我通过唯一的用户名更改了每个节点的推送值; 2)我用下面的代码检查了重复的值:
FirebaseDatabase.getInstance().getReference().child("friend").child(value_in_blue)
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(!dataSnapshot.hasChild(username)) {
//value does not exists
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
谢谢Frank Van Puffelen和Jins Lukose在这个问题上为我提供了指导。
答案 0 :(得分:1)
Firebase提供了 hasChild()方法来检查是否存在儿童肺炎儿童。您可以参考link了解更多详细信息
答案 1 :(得分:0)
尝试一下
fdbRefer.child("give your value").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exist() {
//comes here if exit
}
else {
//if not exist
}
}
});