我們要在 firebase database 中取得資料,其實可以利用 key 的方式取得。就會非常的省事。只需要指定好 ref 的路徑。像這樣:
firebase.database().ref("/member/key").on("value",function(data){
console.log(data.val());
})
但是我們並不是一定會拿到key,很多情況下我們要搜尋某個值的存在,例如要找人名或電話號碼之類的。這時候我們需要另一個方式來達成:
firebase.database().ref("/member").orderByChild("mobile").equalTo("我的電話號碼").on('value', function(data) { console.log(data.val()); });
這時候 firebase 就會去幫你找出裡面的節點 mobile 是 我的電話號碼的資料啦!
其中 orderByChild 就是去找這個節點
equalTo 就是符合的資料內容
相關資料
Firebase database 在 web 上面的基礎運用 (讀取資料)
Firebase database 在 web 上面的基礎運用 (新增資料)
Firebase Doc
留言
firebase.database().ref("/member").orderByChild("mobile").equalTo("我的電話號碼").on('value', function(data) {
console.log(data.val());
});
但是我會出現Consider adding ".indexOn": "value" at /phone/name/ 的error
想詢問在firebase中rule要如何修正呢??(因為我想搜尋某個節點下的數值,再rule節點中需要設定哪個呢?是最高節點嗎?)
你可以看一下這邊
Index Your Data