javascript - Firebase onWrite 未触发
问题描述
我阅读了我找到的所有答案,但我仍然有一些问题。可能与.ref()有关,但我看不出我做错了什么。我的云功能根本没有触发。
数据库示例:business/{businessId}/reservations/{reservationId}
我想在每次创建新预订时触发此功能[在预订集合中创建新文档] (business/{businessId}/reservations/)。然后我想发送一条通知消息,但那是另一回事。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
exports.sendAdminNotification = functions.database
.ref("business/{businessId}/reservations")
.onWrite((event: any) => {
// It never comes here...
console.log('Here');
const payload = {
notification: {
title: 'New registration',
body: 'You have new registration!',
},
};
// You can ignore this part
admin
.messaging()
.sendToDevice('SomeToken', payload)
.catch(function (error: any) {
console.log('Notification sent failed:', error);
});
});
解决方案
您使用术语“文档”和“集合”这一事实表明您的数据库是 Firestore。但是你在这里写的是一个实时数据库触发器。实时数据库是一个完全不同的数据库。相反,您需要编写一个Firestore 触发器。它们以functions.firestore
.
推荐阅读
- python - 为什么我的图像在 Microsoft Paint 中绘制不正确?
- javascript - Fuse JS 搜索结果评分没有意义
- android - 在关卡后保存分数,然后用它来解锁菜单中的东西。统一二维
- python - ZeroDivisionError - 无法找出问题所在
- angular - 角度路由问题(路由器未注册点击)
- hibernate - Spring data/Hibernate:传递给持久化的分离实体
- python - 将 RGB numpy 数组转换为 HSV
- node.js - NodeJS REST API
- javascript - React-Native sectionlist 占位符/文本位置已经上升
- javascript - React 发出警告(没想到服务器 HTML 包含一个在) 使用 React.Suspense 时