![](/img/trans.png)
[英]Check if value exists in Firebase Realtime Database in React JS
[英]Check for existence of value in firebase realtime database?
我正在使用 Firebase 實時數據庫的 V9(模塊化)版本。 我有一個 URL 列表,其中包含使用push()
自動生成的密鑰。 這就是數據結構。
我想要的是檢查列表中是否存在這些 url 之一。 這是我嘗試過的。
const testURL = "https://i.redd.it/bm6psl9sgsj81.png"; //First one in the list
const db = getDatabase();
const dbRef = ref(db, "burnedURLs/");
const q = query(dbRef, equalTo(testURL));
const snapshot = await get(q);
const results = snapshot.toJSON();
console.log(results); //Returns NULL
如何檢查一個值是否存在,或者在您不知道密鑰時只檢索一個值? V9 的文檔不是很好,我找到的大多數示例都是針對 V8 的。 謝謝你的幫助。
編輯:使用exists()
在它確實存在時返回 false(它是樹中的第一個孩子)。 我認為問題在於我沒有正確形成查詢,而這正是我需要幫助的地方。
get(<query>)
返回一個仍然有exists()
的DataSnapshot ,如果此DataSnapshot
包含任何數據,則返回true
。:
const q = query(dbRef, orderByValue(), equalTo(testURL));
const snapshot = await get(q);
if (snapshot.exists()) {
const results = snapshot.val();
console.log('Results', results)
} else {
console.log('Data does not exist')
}
從文檔中,
要過濾數據,您可以在構造查詢時將任何 limit 或 range 方法與 order-by 方法結合使用。
所以在查詢中添加orderByValue()
應該可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.