如何将用户当前用户详细信息插入Firebase中的另一个节点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将用户当前用户详细信息插入Firebase中的另一个节点?相关的知识,希望对你有一定的参考价值。

我使用这个在android的Firebase数据库中的请求节点中插入数据,

public void submitRequest(View v) {
Request myUserInsertObj = "Pending";
rootReference.child("Request").child("Pending").child(firebaseuser.getUid()).setValue
(myUserInsertObj);    
}

这是我的请求类。

Public class Request{

public String request_status;

public Request(String request_status){

this.request_status = request_status;
}

Request()
}

我在firebase文档中发现我可以使用firebaseuser.getDisplayName来获取当前登录用户的名字。但是,因为我在我的应用程序中创建了自己的登录表单和用户注册,所以.getDisplayName将获得用户名称。

问题2:如果我这样做,这可能吗?因为我想在请求访客节点中添加一个名称,以便在我的html Web管理面板中检索它时,数据将更容易阅读。

  rootReference.child("Request")
        .child("Pending")
        .child(firebaseuser.getUid())
        .setValue(myUserInsertObj + firebaseuser.getDisplayName);

如果是这样,我应该在我的请求类中添加什么?

问题3.如何添加时间戳我知道时间戳在每个系统上的数据插入中非常重要。

答案

我在firebase文档中发现我可以使用firebaseuser.getDisplayName来获取当前登录用户的名字。

是的,这是正确的。在getDisplayName()对象上调用FirebaseUser

从Firebase项目的用户数据库返回此用户的主显示名称。

关于你问题的第二部分:

但是.getDisplayName在哪里获取用户的名字,因为我在我的应用程序中创建了自己的登录表单和用户注册。

如上所述,getDisplayName()正在为您提供来自身份验证过程的名称。如果要从自定义用户对象获取用户名,则应首先从数据库中获取用户对象,并在需要的地方使用它。

因为我想在请求节点中放置一个名称,以便在我的HTML Web管理面板中检索它时,数据将更容易阅读。

如果要在节点中添加名称,则应将显示名称传递给child()方法,而不是setValue()。您的代码应如下所示:

rootReference.child("Request")
    .child("Pending")
    .child(firebaseuser.getUid() + "_" + firebaseuser.getDisplayName())
    .setValue(myUserInsertObj);

此代码将生成一个可能如下所示的子代:

Firebase-root
   |
   --- Request
        |
        --- Pending
              |
              --- SxbVg0...uobvk1_Theodore
                    |
                    --- //user details

DatabaseReference类有4个重载的setValue()方法,但这些方法都不允许你传递一个对象和一个String作为参数。

问题3.如何添加时间戳我知道时间戳在每个系统上的数据插入中非常重要。

This是你添加和获取你所谈论的时间戳的方式。

以上是关于如何将用户当前用户详细信息插入Firebase中的另一个节点?的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中未检索 Firebase 用户详细信息

您如何获取与 Firestore 中的 authUser 相关的用户数据库详细信息?

Firebase 的云功能 - 获取当前用户 ID [重复]

如何在 Firebase 颤振应用程序中合并两个集合?

Firebase 分析 - 如何在事件详细信息视图中查看所有用户属性

当用户在flutter中使用otp方法登录时,如何检查用户详细信息是不是已经存在于firebase中? [复制]