0

我是Firebase函數的新手,並試圖瞭解如何從數據庫中獲取某個鍵.onCreate觸發器。這裏有一個例子:從Firebase函數庫中獲取未知鍵名稱觸發器

exports.createUserRoundData = 
functions.database.ref('/data/players/{user_key}/').onCreate(event => { 

    var eventData = event.data.val(); 

    var userKey = event.params.user_key; 

    var itemKey = eventData.items; // This returns an object 

}); 

結構爲:

players > user_key > items > item_key > data 

在上述情況下我怎麼能檢索item_key?

回答

1

是的,你可以,

你需要類似的東西:

exports.createUserRoundData = functions.database.ref('/data/players/{user_key}/').onCreate(event => { 
    var userKey = event.params.user_key; // Get user key parameter 
    var eventSnapshot = event.data; // Get player data 
    var itemsSnapshot = eventSnapshot.child('items'); // Get items data 

    itemsSnapshot.forEach(function(itemSnapshot) { // For each item 
     var itemKey = itemSnapshot.key; // Get item key 
     var itemData = itemSnapshot.val(); // Get item data 
    }); 
}); 

Here the Firebase Cloud Functions documentation.

+0

由於這是我發瘋。後續問題 - 如果項目節點中只有一個子項目,這仍然是檢索它的最佳方法嗎? – user2698253

+0

是的我認爲,在這個函數中我們只使用可用的數據而沒有任何其他的數據庫請求。即使只有一個孩子,forEach循環仍然是最好的方式。 – Pipiks

相關問題