Firestore Cloud功能-在onUpdate / onCreate

时间:2018-08-01 08:42:11

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

在编写Firebase规则时,您可以通过request.resource.data访问请求数据。这很有用,因为您可以查看请求的性质来确定其意图,其写入目标以及允许或拒绝。与使用嵌套的文档集合相比,这可以将属性合并到用户拥有的文档中的对象中。

我想在云函数回调update / write / etc中访问相同的请求数据,但是我看不到它,因此我要做一个与change.before和{{ 1}}。这不是问题,但是我是否错过了文档中的某些内容?

每个文档:https://firebase.google.com/docs/firestore/extend-with-functions

change.after

1 个答案:

答案 0 :(得分:0)

当我意识到a function listening for updates被触发而与属性进行更新无关,尽管进行了'status' in data检查,我也遇到了完全相同的问题。该数据表示handler.after.data的捕获量。尽管我无法从handlercontext访问请求数据,但我还是可以通过添加一个具有相同目的的附加检查来解决该问题。即:

const dataBefore = handler.before.data();
const dataAfter = handler.after.data();

if (status in dataBefore && status in dataAfter) {
  if (dataBefore.status === 'unpublished' && dataAfter.status === 'published') {
    // handle update
  }
}