【发布时间】:2021-04-12 13:30:58
【问题描述】:
我已经为 Firestore 编写了规则,但是,当文档不存在时,它会引发“缺少或权限不足错误”。例如
firebase.firestore().collection('shipments').doc(order_doc_id)
.onSnapshot(fsResponse => {
...
)}
当order_doc_id 不存在时抛出“Missing or Insufficient Permissions 错误”。
这是我的“货件”集合的安全规则:
allow read: if request.auth != null && (resource.data.book_data.seller_id == request.auth.uid || resource.data.buyer_id == request.auth.uid)
理想情况下我希望它能够使用fsResponse.exists === false 成功解决,然后向用户显示“未找到”屏幕,但事实并非如此,并且错误没有说明存在文件。
处理这种情况的正确方法是什么?
【问题讨论】:
-
即使文档不存在,您通常也不会收到“缺少或权限不足错误”。您确定其他设置没有任何副作用吗? (安全规则,...)
-
这是我的“货件”集合安全规则
allow read: if request.auth != null && (resource.data.book_data.seller_id == request.auth.uid || resource.data.buyer_id == request.auth.uid) -
@RenaudTarnec 所以从技术上讲,如果文档不存在,
resource.data.book_data.seller_id == request.auth.uid不可能是真的,但我仍然想知道它是否不存在而不是获得权限被拒绝错误
标签: firebase google-cloud-firestore