如果对象不完整,请删除firebase中的节点

时间:2017-11-09 18:37:39

标签: java android firebase object firebase-realtime-database

我在firebase中有这样的节点,这是正确的节点 enter image description here

但是当我上传一个结果时,它应该删除节点.....删除所有正确的,但几分钟后出现在数据库中(我知道我的问题是在java中,但我需要一个更快速的临时解决 enter image description here

我的问题是,如果节点包含的属性少于正确的节点(20+),或者在java中如何检测对象是否小于预期,我如何检测和删除节点。

mMatchesPlayDatabaseReference.child(matchId).addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {


            if (dataSnapshot.exists()) {

                Match match = dataSnapshot.getValue(Match.class);

                adapter.setFriendsList(stringArrayList);
                adapter.notifyDataSetChanged();
            }
        }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

1 个答案:

答案 0 :(得分:0)

要解决此问题,您需要在dataSnapshot对象上使用getChildrenCount()方法。通过这种方式,您可以检查子项的数量是否小于POJO类中存在的属性数。

在将数据写入数据库时​​,我还要重新使用addOnCompleteListener()方法。添加一个在任务完成时调用的侦听器。