如何编写文档Firestore

时间:2020-07-20 15:53:41

标签: reactjs firebase google-cloud-firestore

我正在尝试像这样编写一个新文档:

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;
  }
 }
}

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

2 个答案:

答案 0 :(得分:1)

您必须正确设置Firestore规则。

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

该视频属于“开始了解Cloud Firestore”播放列表[2]。我真的建议您观看整个播放列表。不会花太长时间,它确实会有所回报。

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

答案 1 :(得分:1)

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

如果您不进行身份验证(根据该规则),您将无法写信/

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

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

也许可以检查本地仿真器,也许可以帮到您,docs are here