使用 Cloud Functions 扩展 Firestore

借助 Cloud Functions,您可以部署 Node.js 代码来处理因 Firestore 数据库更改而触发的事件。这样您就可以轻松向您的应用中添加服务器端功能,而无需运行您自己的服务器。

如需用例的示例,请参阅 Cloud Functions 有哪些用途? 或 GitHub 代码库中的Functions 示例

版本和模式要求

本文档适用于原生模式下的 Firestore 标准版。

Firestore 企业版不支持 Cloud Functions(第 1 代)。请改用 Cloud Run functions(第 2 代)

Firestore 函数触发器

Cloud Functions for Firebase SDK 会导出 functions.firestore 对象,以便您创建与特定 Firestore 事件关联的处理程序。

事件类型 触发器
onCreate 首次写入某个文档时触发。
onUpdate 当某文档已存在并且其任何值发生了更改时触发。
onDelete 当包含数据的文档被删除时触发。
onWrite 在触发 onCreateonUpdateonDelete 时触发。

如果您还没有启用了 Cloud Functions for Firebase 的项目,请参阅《使用入门:编写和部署您的第一批函数》,配置并设置 Cloud Functions for Firebase 项目。

编写 Firestore 触发的函数

定义函数触发器

要定义 Firestore 触发器,请指定文档路径和事件类型:

Node.js

const functions = require('firebase-functions');

exports.myFunction = functions.firestore
  .document('my-collection/{docId}')
  .onWrite((change, context) => { /* ... */ });

文档路径可以引用特定文档通配符模式

指定单个文档

如果您希望针对特定文档的任何更改都触发一个事件,可以使用以下函数。