【问题标题】:Firestore Database Rules Get documentFirestore 数据库规则 获取文档
【发布时间】:2020-06-09 11:26:30
【问题描述】:

说实话,我对我在 Firestore 中尝试做的事情有点迷茫。

对于这种简单的情况,我想从不同的集合中获取一个与用户无关的值。

但是,我不断收到格式错误的错误。有什么帮助吗?

我的问题是//不确定{business} 是否在这里正确//我想获得AREAS.NAME == DASHBOARD 的记录。强>

(它将包含该特定区域的允许用户,稍后我将与用户角色匹配)

service cloud.firestore {
  match /databases/{database}/documents {

    //match /{document=**} {
    //  allow read, write: if isSignedIn();
    //}

    //NOT SURE IF {business} IS CORRECT HERE
    match /business/{business} {
        //I WANT TO GET THE THE RECORD WHERE THE AREAS.NAME == DASHBOARD
        allow write: if get(/databases/$(database)/documents/areas/{}).data.name == "dashboard";
    }
}

【问题讨论】:

  • “桌子”是什么意思?你是说收藏吗?
  • 抱歉,只是一个拼写错误。 Sql 天

标签: google-cloud-firestore firebase-security


【解决方案1】:

您必须定义一个特定的文档 ID 才能访问另一个集合中的文档

    match /business/{business} {
        allow write: if get(/databases/$(database)/documents/areas/document_id).data.name == "dashboard";
    }

【讨论】:

  • 模拟写入失败。还尝试将其作为函数传递并传入 id 的硬编码值,例如:allow write: if getArea("IDHere") == "dashboard";但是不行。它肯定存在。
猜你喜欢
  • 1970-01-01
  • 2019-10-15
  • 2020-12-26
  • 2023-02-13
  • 2020-02-24
  • 2021-07-31
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多