如果请求中仅存在一个特定字段,则允许更新文档

时间:2019-09-29 23:31:24

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

我正在尝试向Firebase添加一个特殊规则,该规则将仅允许更新文档中的一个字段,客户端是否为auth无关紧要,我只关心客户端是否仅更新一个具体字段。

这是我所拥有的,但是根本无法使用,它始终拒绝我的请求:

allow write: if (request.resource.data.keys().hasOnly(["online"]) == true);

我也尝试过使用writeFields(到目前为止,我发现它已经被淘汰或将要被淘汰,或者只能与firebase-admin一起使用),但是一点都没有运气。我也阅读了文档,但找不到示例...

欢呼

PS: enter image description here 我发现它可以在模拟器上运行,但是不能在客户端上运行,这是我正在使用的代码:

let d = new Date();
return this.db
    .collection("devices")
    .doc(id)
    .set({online: d}, { merge: true });

0 个答案:

没有答案