Firestore模拟器中的“空值错误”

man*_*dos 6 firebase google-cloud-firestore

我正在尝试从Firestore官方文档中复制一个示例。您需要了解的所有信息都在屏幕截图上。是错误还是我错过了什么?

在此处输入图片说明

man*_*dos 16

问题是没有实际文件 /cities/moscow

  • 这个答案是什么意思,你怎么知道那里没有文件? (2认同)

fun*_*ct7 6

多一点解释会使马尼多斯的答案成为一个很好的答案。

似乎resources应该只用于涉及已经写入的数据的规则;例如delete,read,update等。

如果要对“将要”写入的数据设置规则,请使用getAfter.


Joh*_*ers 6

问题是 - 正如 manidos 指出的那样,文档 /cities/moscow 不存在,因此该文档无法访问。然而,指定规则的更简洁的方法是:

allow read: if (resource == null) || (resource.data.visibility == 'public')
Run Code Online (Sandbox Code Playgroud)

它允许应用程序查询不存在的数据,而不会因安全异常而崩溃。