【发布时间】:2019-01-08 18:23:33
【问题描述】:
在编写firebase规则时,您可以通过request.resource.data访问请求数据。这很有用,因为您可以查看请求的性质以确定其意图、写入目标以及允许或拒绝。这允许将属性合并到用户拥有的文档中的对象中,而不是使用嵌套的文档集合。
我想在云函数回调更新/写入/等中访问相同的请求数据,但我没有看到它,我只好与change.before 和change.after 进行对象比较。这不是问题,但我是否遗漏了文档中的某些内容?
根据文档:https://firebase.google.com/docs/firestore/extend-with-functions
exports.myFunctionName = functions.firestore.document('users/marie').onWrite((change, context) => {
// ... the change or context objects do not contain the request data
});
【问题讨论】:
-
你能添加你的代码或一些非常简单的例子来说明清楚吗?
-
我们也在寻找同样的东西,我们的用例是我们想知道客户端是否在请求中发送了一个标志。详情如下:如果客户端在更新中发送一个标志,我们想触发一些功能,如果无法获取实际请求,我们将不得不在执行我们的逻辑后清除标志,这将导致额外的写入成本。我们当然可以单独拥有一个云函数并让客户端调用该函数,但我们希望避免它,因为我们还需要关心容错。
标签: firebase google-cloud-firestore google-cloud-functions