Firebase数据库规则:无法读取另一个集合

时间:2018-07-22 22:09:40

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

你能帮我吗?

我有这些规则

service cloud.firestore {
    match /databases/{database}/documents {
      match /locations/{document=**} {
        allow read, write;
      }
      match /Users/{userId} {
        allow read: if request.auth.uid != null && request.auth.uid == userId;
        allow write: if request.auth.uid != null && request.auth.uid == userId;
      }
  }
}

因此,当我尝试通过Firebase Simulator访问“位置”集合时,出现错误:

  

拒绝模拟数据访问

这是一个 screenshot

模拟器的“位置”字段中的路径为

/databases/(default)/documents/locations

我可以从我的应用程序访问数据并将数据写入到Users集合(当然是在得到授权的情况下),但是问题是我需要在没有任何权限的情况下允许访问Locations集合。我看不懂“地点”收藏

任何建议都非常欢迎

1 个答案:

答案 0 :(得分:0)

您指定的路径不正确。
只能 locations/documentID ,而不是 databases/(default)/documents/locations/documentID

/databases/(default)/documents基本上是您所在位置的提示。