我正在尝试向Firebase添加一个特殊规则,该规则将仅允许更新文档中的一个字段,客户端是否为auth无关紧要,我只关心客户端是否仅更新一个具体字段。
这是我所拥有的,但是根本无法使用,它始终拒绝我的请求:
allow write: if (request.resource.data.keys().hasOnly(["online"]) == true);
我也尝试过使用writeFields(到目前为止,我发现它已经被淘汰或将要被淘汰,或者只能与firebase-admin一起使用),但是一点都没有运气。我也阅读了文档,但找不到示例...
欢呼
PS: 我发现它可以在模拟器上运行,但是不能在客户端上运行,这是我正在使用的代码:
let d = new Date();
return this.db
.collection("devices")
.doc(id)
.set({online: d}, { merge: true });