我做了一个函数,但由于某种原因它没有被调用。我能够部署它
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.
大家好,我是 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.