在为需要从单独的集合中提取文档的Firebase数据库编写规则时,不止一次引用该文档会有区别吗?
例如,这将导致otherStuff
集合的单个查询:
// Rules single get
match /someData/{dataId} {
allow read: if get(/databases/$(database)/documents/otherStuff/$(dataId)).data.allowRead == true
}
但是下面的代码会主动获得两次相同的文档吗?或者它是否已经过优化,只能获取一次?
// Rules twice get
match /someData/{dataId} {
allow read: if get(/databases/$(database)/documents/otherStuff/$(dataId)).data.allowRead == true
&& get(/databases/$(database)/documents/otherStuff/$(dataId)).data.reallyAllowRead == true
}
答案 0 :(得分:1)
在文档https://firebase.google.com/docs/firestore/security/rules-structure#security_rule_limits
中查看此部分在针对单个规则的安全规则评估中,“对同一文档的多个请求不会被视为单独的请求。”