猿问

检查firebase子项是否具有特定值

我有一个基于 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 在这个问题上给我指导。


智慧大石
浏览 205回答 2
2回答

侃侃无极

Firebase 提供hasChild()方法来检查 pirticuler 孩子的值是否存在。您可以参考链接了解更多详情

holdtom

试试这个fdbRefer.child("give your value").addListenerForSingleValueEvent(new ValueEventListener() {@Overridepublic void onDataChange(DataSnapshot dataSnapshot) {if(dataSnapshot.exist() {//comes here if exit}else {//if not exist}}});
随时随地看视频慕课网APP

相关分类

Java
我要回答