我正在嘗試從我的實時資料庫中獲取過濾后的資料。在此示例中,我只想使用特定的 uid 獲取這些:

我嘗試使用 firebase 檔案中的代碼段獲取資料:
const db = getDatabase();
const auth = getAuth();
const myUserId = auth.currentUser.uid;
const myOffersRef = query(ref(db, 'allOffers/'), orderByChild('uid'), startAt(user.uid));
但是如何從 const 獲取資料myOffersRef?
謝謝!
uj5u.com熱心網友回復:
如有關讀取資料的檔案中所示,您可以使用get在路徑或查詢中獲取資料。
const myOffersRef = query(ref(db, 'allOffers/'), orderByChild('uid'), equalTo(user.uid));
get(myOffersRef).then((snapshot) => {
snapshot.forEach((child) => {
console.log(child.key, child.val().uid);
});
}).catch((error) => {
console.error(error);
});
請注意,我也更改startAt為equalTo,因為您可能只想要與 UID 匹配的節點,而不是從第一個匹配項開始的節點幻燈片(這是什么startAt)。
這forEach是必需的,因為查詢可能有多個結果,因此快照包含這些結果的串列。即使只有一個結果,快照也會包含一個結果的串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/444767.html
標籤:javascript 反应 火力基地 firebase-实时数据库
