【问题标题】:How to get user infomation with uid in firebase?如何在firebase中使用uid获取用户信息?
【发布时间】:2017-12-06 18:55:58
【问题描述】:

我想做什么

用户向管理员发送消息的系统。

进展

  • 获取 uid(成功)
  • 获取用户信息(失败)

如果用户留言,管理员希望看到他们的列表。

在数据库中,

messages {
    uid1 {
        key1 {
            name : "user name"
            text : "text that user remained"            
            created_at : "time that message created"
        }
        key2 {
            …
        }
        …
    }

    uid2 {
        …
    }
}

我按上述方式存储信息。现在可以在管理页面上以列表的形式查看此信息..(管理员单击列表以查看消息。)

但是,我已经成功加载了每个uid,但是我不知道如何使用`uid'来获取用户的信息。

这是输出(现在):

<div>uid1</div>
<div>uid2</div>

代码如下:

function getListItem() {
  var messagesRef = database.ref('personalchats') //personalchats 에 있는 uid로 접근
  messagesRef.on('child_added', setListItem);
  messagesRef.on('child_changed', setListItem);

}

function setListItem(data) {
  var key = data.key;

  var html = '<div class="listitem"> ' + key + '</div>;

   $(".collection").append(html);
}

我希望这个结果是:

<div>userName1 : current message</div>
<div>userName2 : current message</div>
...

我能为它做些什么?

谢谢。

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    使用 data() 转换数据,然后使用数据库中给出的值名称提取数据。

       function getListItem() {
          var messagesRef = database.ref('personalchats') //personalchats 
          messagesRef.on('child_added', setListItem);
          messagesRef.on('child_changed', setListItem);
        }
    
       function setListItem(data) {
          var key = data.key;
          // create a variable to store the data
          var dataVal=data.val();
          var msgtext=dataVal.text;
    
          var html = '<div class="listitem"> ' + key + ': '+ msgtext</div>;
           $(".collection").append(html);
        }
    

    【讨论】:

      猜你喜欢
      • 2018-12-31
      • 2017-12-14
      • 1970-01-01
      • 1970-01-01
      • 2020-04-14
      • 2019-01-27
      • 2021-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多