Firestore 规则 - 访问资源中的文档 ID



我目前正在将实时数据库迁移到Firestore,并遇到了一些问题。我的规则设置如下:

service cloud.firestore {
    match /databases/{database}/documents {
      match /users/ {
          allow read
          match /{$user} {
              allow create: if isAuthenticated(request) && exists(/databases/$(database)/documents/users/$(request.auth.uid)) === false
              allow update: if isAuthenticated(request) && request.auth.id === resource.data;
              match /notifications/{$notification} {
                  allow write: if request.auth.id === resource.data
              }
          }
      } 
   }
}
function isAuthenticated(req) {
    return request.auth.uid != null;
}

我想仅在$user与身份验证 ID (request.auth.id 相同时为用户保护更新。通知也是如此。是否可以访问通知规则中的$user

规则是作用域的,因此您可以从嵌套作用域中的更高级别访问变量。

在您的情况下,allow write规则可以访问$user$notification

最新更新