Firebase:如果没有,则将子项添加到数据库?

时间:2017-04-16 18:17:21

标签: android firebase firebase-realtime-database

在我的Firebase数据库中,我想检查[[My firebase]]/users中是否存在与当前登录人员的Uid相同Uid的孩子。

以下是代码:

// Initialize FirebaseAuth
        mFirebaseAuth = FirebaseAuth.getInstance();
        mFirebaseUser = mFirebaseAuth.getCurrentUser();

        //Get firebase database
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        //Set a SINGLE value listener & check if user exists in data base.
        final DatabaseReference ref = database.getReference("users");
        ref.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                //If user does not exists in data base, create user and add to database.
                if(!dataSnapshot.hasChild(mFirebaseUser.getUid())){
                    ref.child(mFirebaseUser.getUid()).setValue(new User("Random Nick"));
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                //Not implemented yet
            }
        });

我只想检查一次(当人登录/注册时)。当我运行代码时,Firebase数据库中没有任何内容。

0 个答案:

没有答案