【发布时间】:2017-12-06 11:07:53
【问题描述】:
我对 Firestore 规则很迷茫。
我希望经过身份验证的用户能够读取他们自己的记录,但无法做到这一点。我正在将 userId 写入每条记录。阅读时,我希望用户将获得字段 userId == request.auth.uid 的所有记录,这是我在 Firestore 控制台中的代码:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read: if resource.data.userId == request.auth.uid;
}
}
match /databases/{database}/documents {
match /{document=**} {
allow write: if request.auth.uid != null;
}
}
}
写作没问题,但在阅读时,我的应用程序中出现“权限缺失或权限不足”异常。我检查了FirebaseAuth.getInstance().getUid() 正在返回一个与我的userId 字段匹配的值。
【问题讨论】:
-
您可以发布用于向数据库发出请求的查询吗?
-
很简单,FirebaseFirestore.getInstance().collection("docs").get()
标签: android firebase firebase-security google-cloud-firestore