首页 > 解决方案 > 是否可以在 Cloud Firestore 中使用模板字符串变量编写规则?

问题描述

我想编写一个可以执行以下操作的规则:

allow update: if request.auth.uid == resource.data.players.$(request.auth.uid).id;

目标是检查取决于 uid 是什么的动态字段。

$(something)模板语法适用于文档路径,但不适用于实际的文档属性。

有什么办法可以通过 Firestore 规则来做到这一点?

标签: firebasegoogle-cloud-platformgoogle-cloud-firestore

解决方案


当然可以,而且你非常接近。这是我必须只允许版主或管理员更新的规则:

allow update: if request.auth.uid in request.resource.data.moderators || get(/databases/$(database)/documents/users/$(request.auth.uid)).data.admin == true

你的关键是:

$(request.auth.uid)

推荐阅读