【问题标题】:How to write a document firestore如何编写文档火库
【发布时间】:2020-07-20 15:53:41
【问题描述】:

我正在尝试编写这样的新文档:

database.collection('NegociosDev').doc('Peluquerías').collection('Negocios').doc('PR01').collection('citas').add({
            CheckIn: formattedDate(citaDate) + ' ' + formattedTime(horaSelec),
            CheckOut: fechaFinal.toString(),
            Dirección: 'Avenida Los Majuelos 54',
            Negocio: 'PRIVILEGE SALONES',
            Precio: pre.toString(),
            Servicio: servicioSeleccionado.toString(),
            extraInformation: empleadoSelect.toString(),
            idUsuario: idUser.toString(),
        })

但是每次我尝试写任何东西时都会出现这个错误(我可以阅读):

未处理的承诺拒绝:FirebaseError:缺少或不足的权限。

使用此规则:

rules_version = '2';
 service cloud.firestore {
  match /databases/{database}/documents {
   match /{document=**} {
    allow write: if request.auth.uid != null;
    allow read;
  }
 }
}

我没有做任何身份验证,我只是想写一些东西,但我不想更改规则。

【问题讨论】:

    标签: reactjs firebase google-cloud-firestore


    【解决方案1】:

    您必须正确设置 Firestore 规则。

    我建议您观看此官方视频 [1],其中解释了您需要了解的所有内容。

    该视频是“了解 Cloud Firestore”播放列表 [2] 的一部分。我真的建议您观看整个播放列表。不需要太长时间,而且确实有回报。

    [1]https://youtu.be/eW5MdE3ZcAw
    [2]https://www.youtube.com/playlist?list=PLl-K7zZEsYLluG5MCVEzXAQ7ACZBCuZgZ

    【讨论】:

      【解决方案2】:

      我没有做任何身份验证,我只是想写一些东西,但我不想更改规则。

      如果您不进行身份验证(基于该规则),您将无法编写/

      如果您决定删除惹恼allow write: if true,请注意这是不安全的,您可以在完成测试后将其重新设置。

      否则,您可以验证您的用户 documents are useful for this purpose

      也许检查一下本地模拟器,也许对你有帮助,docs are here

      【讨论】:

      • 会检查文档,但没有办法(不改变规则)写,即使我是管理员?
      • 不,没有“admin”的概念(意思是他的项目的所有者),你也可以试试本地模拟器,我会更新我的答案为你提供文档,但我没有'没有检查自己,可能您需要更改规则,但在您的本地环境中没问题,否则,不,没有办法绕过安全规则,因为设计它是为了避免这种情况而创建的。
      猜你喜欢
      • 2020-05-28
      • 2012-02-13
      • 1970-01-01
      • 2019-06-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      • 2020-06-10
      • 1970-01-01
      相关资源
      最近更新 更多