在 Cloud Functions for Firebase 中访问 db 数据

Posted

技术标签:

【中文标题】在 Cloud Functions for Firebase 中访问 db 数据【英文标题】:Access db data in Cloud Functions for Firebase 【发布时间】:2017-09-24 19:36:55 【问题描述】:

在 Cloud Functions for Firebase 中,例如:

exports.makeUppercase = functions.database.ref('/messages/pushId/original')
    .onWrite(event => 
    //how to access data at another node, for example 
    //important/messages/pushId
)

如何读取另一个节点的数据,例如/important/messages/pushId?谢谢

【问题讨论】:

【参考方案1】:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.makeUppercase = functions.database.ref('/messages/pushId/original').onWrite(event => 
   const getSomethingPromise = admin.database().ref(`/important/messages/pushId`).once('value');
   return getSomethingPromise.then(results => 
            const somethingSnapshot = results[0];
            // Do something with the snapshot
        )
    )

例如检查这个例子:https://github.com/firebase/functions-samples/blob/master/fcm-notifications/functions/index.js

【讨论】:

如何读取节点/messages/pushId/original! 上的剩余数据?例如,如果您想读取路径上的剩余数据 /messages/pushId/ event.data.val() 将为您提供/messages/pushId/original 节点中的数据

以上是关于在 Cloud Functions for Firebase 中访问 db 数据的主要内容,如果未能解决你的问题,请参考以下文章

Cloud Functions for Firebase onWrite 超时

Cloud Functions for Firebase 组织

多次调用 Cloud Functions for Firebase

Cloud Functions for Firebase 在午夜运行

Cloud Functions for Firebase 超时

如何使用 Cloud Functions for Firebase 获取子值的键?