簡體   English   中英

如何將數據寫入特定位置Firebase Web

[英]How to write data into a specific location Firebase Web

我想將數據寫入數據庫中的特定位置。 假設我在數據庫中有幾個用戶。 他們每個人都有自己的個人信息,包括電子郵件。 我想根據電子郵件來查找用戶,也就是說使用他的電子郵件(但是我不知道確切是誰的電子郵件,但是無論是誰處理的都是該用戶的信息)。 為了更加明顯,這是我的數據庫示例。

在此處輸入圖片說明

現在,在處理我的一個javascript文件時,當用戶說name1更改其名稱時,我在javascript中更新了我的對象,並希望替換ID為“ -LEp2F2fSDUt94SRU0cx”的整個對象。 簡而言之,我想將此更新的對象寫在路徑(“ Users / -LEp2F2fSDUt94SRU0cx”)中,而無需手工完成,而只是“知道”電子郵件。 因此邏輯是“去用電子郵件“ name1@yahoo.com”查找用戶,然后用新的更新對象替換整個對象”。 我嘗試使用orderByChild(“ Email”)。equalTo(“ name1@yahoo.com”)。set(updated_object),但是我猜這種語法不起作用。 希望我能解釋自己。

第一部分是查詢,與要更新的帖子分開。 這部分是獲取值的查詢:

ref.child('users').orderByChild("Email").equalTo("name1@yahoo.com")

要進行更新,一旦從查詢結果中獲得了用戶ID,就需要執行以下操作:

ref.child('users').child(userId).child("Email").update(newValue);

firebase.database.Query

查詢對數據庫位置的數據進行排序和過濾,因此僅包含子數據的一個子集。 這可用於通過某些屬性(例如,恐龍的高度)對數據集合進行排序,以及將大量項目(例如,聊天消息)限制為適合與客戶端同步的數量。 通過將此處定義的一個或多個過濾方法鏈接在一起來創建查詢。

 // Find all dinosaurs whose height is exactly 25 meters. var ref = firebase.database().ref("dinosaurs"); ref.orderByChild("height").equalTo(25).on("child_added", function(snapshot) { console.log(snapshot.key); }); 

暫無
暫無

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

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