将数据库写入

时间:2020-04-08 22:37:22

标签: javascript node.js firebase google-cloud-functions

我的数据库的结构如下Collection(“ Message”)。Document(“ message”)

但是实际上,我希望在添加文档时监视数据库主集合中的任何更改。我添加了消息文档,是因为我认为可能是因为该文档是自动生成的,所以并未调用该函数。但是,问题仍然存在...

仅出于背景原因,我是一名iOS开发人员,所以也许我在这里做错了事:

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

admin.initializeApp();

exports.sendPushNotifications = functions.database.ref('/Messages/{message}').onCreate((snapshot,context) => {

    console.log(snapshot);
    console.log(context);

    var topic = "/topics/sentMessages";

    var payload = {
        data: {
            message : 'You recieved a new message!'
        }
    }

    return  admin.messaging().sendToTopic(topic,payload).then((response) => {

        return response;
    })
})

有关其他背景信息:在使用控制台时,无论是直接发送到测试设备还是使用主题,应用程序都可以很好地接收推送通知。写入Firebase Firestore时,严格来说就是这个问题。

1 个答案:

答案 0 :(得分:1)

当您说“ Collection(“ Message”)。Document(“ message”)“向我暗示您正在使用Firestore作为数据库时。但是,您的功能是针对实时数据库的更改,这是完全不同的事情。 functions.database为实时数据库构建功能。 functions.firestore为Firestore构建功能。您将需要阅读documentation on Firetore triggers来学习如何编写它们。

相关问题