大家好我是firebase的新手。我做了一个函数,由于某种原因它没有被调用。我能够部署它。我想要做的是,每次我更改一个值时,我的松弛都会得到通知但是当我添加一个值/文档时没有任何反应。我查看了这些功能,但根本没有被调用过。
const functions = require('firebase-functions');
var request = require("request");
const admin = require('firebase-admin');
admin.initializeApp();
exports.notifyNewRecord = functions.firestore
.document('stallion/{userId}')
.onCreate((snap, context) => {
const newValue = snap.data();
const name = newValue.name;
const points = newValue.points;
return request.post(
"https://hooks.slack.com/I have my slack id here in the code",
{json:{text: `<${user} received ${points} point for an excepted answer>.`}}
)
这是我数据库的数据库结构,然后种马文件和记录就在文件名上:xxxx,points:xxxx。我正在使用免费套餐进行火灾,不知道是否重要。我看到我的数据库函数中的函数将不胜感激。
答案 0 :(得分:1)
您正在使用onCreate触发器,该触发器仅在“stallion”集合中创建新文档时触发。它不会触发对现有文档的更改。为此,您需要在onWrite触发器上使用onUpdate。请务必阅读documentation for Firestore triggers以更好地了解它们的工作原理。
答案 1 :(得分:0)
如果已调用该函数,则fire-base函数选项卡需要一段时间才能上载。此外,你不能像Nicholas Pesa所提到的那样在免费套餐中打电话。上面的代码中至少有一个错误,即调用中的用户未定义它应该是名称。