簡體   English   中英

我如何從 firebase 獲取數據

[英]How can i get data from firebase

我想通過搜索欄進行用戶搜索。當我輸入姓氏時,如果有匹配項,我應該收到有關用戶的數據,但我不知道如何。

這是我的嘗試

searchBar(){
  let a=app.database().ref('users/'+app.auth().currentUser.uid).orderByChild('/surname').equalTo('Крюкин');
  console.log(a);
}

這是數據的結構

在此處輸入圖像描述

嘗試以下操作:

searchBar(){
      let a=app.database().ref('users');
        a.orderByChild('surname').equalTo('Крюкин').on('value',((snapshot) => {
         snapshot.forEach((childSnapshot) => {
           console.log(childSnapshot.val());
     });
    }

首先,您沒有使用用戶 ID,這是在數據庫中使用push()生成的隨機 ID。 因此,您需要使用forEach()來訪問數據。

檢查指南:

https://firebase.google.com/docs/database/web/read-and-write

您沒有從 firebase 中准確讀取數據。

您應該創建一個句柄,在您的情況下創建一個句柄,然后在該句柄上注冊value事件偵聽器,下面的代碼來自官方文檔

ref.once('value', function(snapshot) {
  snapshot.forEach(function(childSnapshot) {
    var childKey = childSnapshot.key;
    var childData = childSnapshot.val();
    // ...
  });
});

在你的情況下,你應該只是

a.on("value",list=>{list.forEach(...)})

您也可以訂閱未來的 child_added/removed/updated 事件

是文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM