繁体   English   中英

限制firebase实时数据库中添加的子项数

[英]Limit the number of children added in firebase realtime database

在此输入图像描述

如何从android中的firebase或java代码中限制添加到02的子项数。 我将从我制作的android应用程序中添加孩子。 如果02个孩子的数量是100个,我想给用户留言。我试过了

DatabaseReference dref=FirebaseDatabase.getInstance().getReference()
                    .child("Root").child("Time").child(2019).child(April).child(02);
dref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            numberofpatients=dataSnapshot.getChildrenCount();
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

不起作用;

也试过了

dref.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
            numberofpatients=dataSnapshot.getChildrenCount();
        }

        @Override
        public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
            numberofpatients=dataSnapshot.getChildrenCount();
        }

        @Override
        public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
            numberofpatients=dataSnapshot.getChildrenCount();
        }

        @Override
        public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
            numberofpatients=dataSnapshot.getChildrenCount();
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

在得到计数后,我使用以下内容来检查条件

    if(numberofpatients>=3){
        android.support.v7.app.AlertDialog.Builder alert=
                new android.support.v7.app.AlertDialog.Builder(
                        FillForm.this);
        alert.setTitle("List Full");
        alert.setMessage("Select another date!");
        alert.setCancelable(false);
        alert.setPositiveButton("Okay",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        mDateSpinner.requestFocus();
                    }
                });

        alert.show();
    }

请帮助,只需要这个想法。

你必须循环并获得孩子的数量(“02”)

FirebaseDatabase.getInstance().getReference().child("Time/2019/April/02").addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.getChildrenCount()==100){

                 //code here
                }

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM