Firebase Cloud功能:为firebase数据库增加价值

时间:2017-09-08 14:59:17

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

每当任何文件添加到firebase存储时,它的路径值应该通过firebase云功能存储在firebase数据库中

我通过以下代码实现了

const functions = require('firebase-functions');

const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.generateThumbnail = functions.storage.object().onChange(event => {
    const object = event.data;
    const resourceState = object.resourceState;
    // Exit if this is a move or deletion event.
    if (resourceState === 'not_exists') {
      console.log('This is a deletion event.');
      return;
    }
    const filePath = object.name; // File path in the bucket.
    console.log(filePath);

    const newPostKey = admin.database().ref().push().key;   

    admin.database().ref().child(newPostKey).set({
        filePath    
    });
});

条目显示在数据库中,如下所示

enter image description here

我想要它如下

enter image description here

我已经尝试了很多但是无法实现它,任何身体会帮助我在哪里需要更改所以我可以实现我想要的代码

2 个答案:

答案 0 :(得分:4)

感谢@DoesData,最后我通过以下方式实现了

 admin.database().ref().child(newPostKey).set(filePath);

答案 1 :(得分:2)

奇怪,但也许这会奏效:

const filePath = object.name;
const newPostKey = admin.database().ref().push().key;   
admin.database().ref().update({
    [newPostKey] : filepath  
});