单据字段值更新时触发Firebase函数 [英] Trigger Firebase function onUpdate of document field value

查看:103
本文介绍了单据字段值更新时触发Firebase函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种解决方案,使下面的代码触发字段值的onUpdate,而不是触发整个文档。

是否可以使用firebase-functions包监听字段值,假设一个带有时间戳的字段称为lastUpdate?或者,我倾向于使用axios通过onClick调用的HTTP触发器,但找不到任何资源、文档或教程来帮助我理解。如果你知道有什么书,我很想读一读。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const sgMail = require('@sendgrid/mail');

try {
  admin.initializeApp();
} catch (e) {
  console.log(e);
}

var SENDGRID_API_KEY = functions.config().sendgrid.key;
sgMail.setApiKey(SENDGRID_API_KEY);

exports = module.exports = functions.firestore
  .document('users/{id}')
  .onUpdate(snap => {
    const user = snap.data();
    const msg = {
      to: user.email,
      from: 'example@example.com',
      templateId: 'd-6c0e0385808c480ab475748a6eeed773',
      dynamic_template_data: {
        firstName: user.firstName,
        email: user.email,
        id: user.id
      }
    };
    return sgMail.send(msg).catch(err => console.log(`${user.email} - ${err}`));
  });

推荐答案

云FiRestore在文档级触发云函数。没有仅当单据中的特定字段发生变化时才触发函数的选项。如果您需要触发器的粒度级别,请考虑使用实时数据库。

这篇关于单据字段值更新时触发Firebase函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆