我做了一个函数,但由于某种原因它没有被调用。我能够部署它

I made a function and for some reason it is not being called. I was able to deploy it

大家好,我是 firebase 的新手。我做了一个函数,但由于某种原因它没有被调用。我能够部署它。我想做的是,每次我更改一个值时,我的 slack 都会收到通知,但是当我添加 value/document 时,什么也没有发生。我查看了函数,但根本没有调用它们。

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,点数:xxxx。我正在使用 firestore 的免费套餐,不知道这是否重要。我在我的数据库函数中看到该函数,如有任何帮助,我们将不胜感激。

您正在使用 onCreate 触发器,它仅在 "stallion" 集合中创建新文档时触发。它不会触发对现有文档的更改。为此,您需要在 onWrite 触发器上使用 onUpdate。请务必阅读 documentation for Firestore triggers 以更好地了解它们的工作原理。

如果函数已被调用,fire-base 函数选项卡需要一段时间才能上传。此外,您不能像 Nicholas Pesa 提到的那样在免费套餐中拨打电话。上面的代码中至少有一个错误,调用中的用户未定义,应该是 name.