如何解决路径中的 Firestore 规则变量与数据比较
我想将路径中的变量与文档中的条目进行比较。我建立了以下规则:
match /{userId}/test/{cycle}/results {
//allow read: if 3 == get(/databases/$(database)/documents/$(userId)/status).data.number
allow read: if cycle == get(/databases/$(database)/documents/$(userId)/status).data.number
}
注释掉的行工作得很好,这意味着我路径中的 {cycle} 变量有效并且正确的数字被传输,但是当我想将循环变量与数据库中的数字进行比较时,它不起作用。
我可以将字符串与数字或类似的东西进行比较吗???
谢谢!!
解决方法
我可以自己解决。问题是我将字符串与数字进行了比较。请求作为字符串传递的路径,它也将 {cycle} 变量定义为字符串。我将它与我的数据库中的数据进行了比较,这是一个数字...
解决方法,将数字转成字符串
match /{userId}/test/{cycle}/results {
allow read: if cycle == string(get(/databases/$(database)/documents/$(userId)/status).data.number)
}
欲知更多:https://firebase.google.com/docs/reference/rules/rules.String
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。