如何获取用户输入,然后将其发送到用户个人资料下的Firebase数据库?

时间:2019-05-18 09:45:24

标签: swift firebase firebase-realtime-database

因此,假设用户注册完成(此代码已经正确),并且下一个窗口要求用户输入个人信息(教育等),您如何编码该信息进入用户个人资料下的Firebase。

我已经完成了注册页面,并且在那里创建的用户已经转到firebase。

这是我注册后的页面内容。没有错误,但显然不完整。

下面的代码是我发现的,但仅用于将数据输入数据库。它不适用于2分:

  1. 它不是用户输入的动态数据,它只是对用户要求的描述,
  2. 它不在Firebase中的用户个人资料下。

func post(){

#The Easiest one...
def strsearch():

  fopen = open('logfile.txt',mode='r+')

  fread = fopen.readlines()

  x = 'Product Name'

  y = 'Problem Description'

  z = 'Resolution Summary'

  for line in fread:

      #print(line)

       if x in line:

           print(line)

       if y in line:

           print(line)

       if z in line:

           print(line)

我需要用户的输入才能进入Firebase的个人资料。

2 个答案:

答案 0 :(得分:1)

您可以通过.child()添加一个“用户”节点,然后通过.getUID通过其个人UID设置其个人信息

所以数据库可能看起来像这样:

用户-             (他们的个人UID)-                                               名称-“特里”                                               电子邮件-‘terry@email.com’                                               电话-‘0978364727’

答案 1 :(得分:0)

调用databaseRef.childByAutoId()时,Firebase在databaseRef下生成一个新的子节点。因此,如果多次调用,即使调用是针对同一用户的,也会获得多个新的子节点。

要存储用户数据,您需要(按照Nathan的回答)将数据存储在该用户的唯一UID下。这样一来,您便可以在以后根据需要对其进行更新,并且无需查询即可轻松找到用户的数据。

要将数据存储在用户的UID下,请执行以下操作:

let uid = Auth.auth().currentUser.uid
databaseRef.child("personal info").child(uid).setValue(post)

有关此的更多信息,请参见: