从Firebase函数数据库触发器获取未知的密钥名称

时间:2017-07-26 07:18:16

标签: javascript firebase firebase-realtime-database google-cloud-functions

我是Firebase新功能的新手,并试图了解如何从数据库中获取某个键.onCreate触发器。这是一个例子:

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 个答案:

答案 0 :(得分:2)

是的,你可以,

你需要这样的东西:

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.