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

时间:2018-04-15 02:38:13

标签: firebase google-cloud-firestore google-cloud-functions firebase-admin

大家好我是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。我正在使用免费套餐进行火灾,不知道是否重要。我看到我的数据库函数中的函数将不胜感激。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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