Firebase数据库检查密钥是否存在

时间:2019-01-14 22:28:45

标签: java firebase firebase-realtime-database

我已将我的应用程序数据存储在Firebase数据库中的/ users /#USERID#中。

是否存在检查用户ID是否存在的正确方法?在我的应用程序中,当用户首先创建一个帐户,然后根据需要填充数据时,我会创建一个users / userID元素。在某些情况下,我希望能够从我们的管理端来填充用户帐户,并且很多时候他们可能还没有任何数据,本质上是创建了users /#userId#节点,但里面是空的。我似乎看不到密钥是否存在。当我抓取快照时,即使我手动添加了快照,当我在数据快照上调用.exists()时,它始终会返回false。如果我向该节点添加简单的键/值,则exist()调用将返回true。

我一直在搜索堆栈溢出,似乎我不应该将用户数据存储在其用户ID密钥下。有没有办法做我想做的事?

是这种情况还是我错过了什么?

下面是一些示例代码:

DatabaseReference ref = firebase.getDatabaseReference().child("users").child(sbUserId);

ref.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {

        if (dataSnapshot.exists()) {
            log.info("account {} exists!", sbUserId);
        }
        else {
            log.info("account {} does NOT exist", sbUserId);
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
});

0 个答案:

没有答案
相关问题