繁体   English   中英

如何为firebase中的现有子项添加新的“键值”对

[英]how to add a new “key-value” pair for existing child in firebase

我已将我的Android应用程序连接到firebase并启用了电子邮件和密码身份验证。 我当前的数据库状态如下:

数据库的当前结构

现在我想为我拥有的所有用户添加一个额外的字段(键:“数字”),以便我的最终数据库如下所示:

数据库的最终结构

所以请告诉我怎么做?

更重要的是我编写代码使得我首先对它们进行身份验证,如果他们的注册成功,那么我将用户带到新的Activity,他们将在收集密钥之后输入此“密钥”我应该将其添加到用户节点,如图所示第二张照片。

那么请告诉我怎么做?

要在Firebase实时数据库中写入值,您必须知道该值的完整路径。 因此,在您的情况下,这意味着您首先必须从数据库加载所有数据,以便能够确定动态密钥( C76w3...FjsZ...等)。

像这样的东西:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot snapshot: dataSnapshot.getChildren()) {
            snapshot.getRef().child("key").setValue("hisoka");
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
}

暂无
暂无

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

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