弗里斯特尔的写作,但没有阅读
在阅读Firestore数据时,我会遇到一些错误。
我正在使用以下规则:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// Allow only authenticated content owners access
match /Produto/{document} {
allow read, write: if request.auth != null &&
request.auth.uid == request.resource.data.idUsuario
}
}
}
我正在用扑来编码的应用程序,我是新的,并且遵循一些教程,我有一个streambuilder,并且它不断返回null。
child: StreamBuilder<QuerySnapshot>(
stream: _stream,
builder: (context, snapshot) {
if (!snapshot.hasData) {
return const Center(child: LoadingCircular());
}
return Column(
用:
final Stream<QuerySnapshot> _stream = FirebaseFirestore.instance.collection('Produto').snapshots();
当我编写数据时,但是当我设置读取作品的默认规则时,它并没有使用此规则进行阅读,但是我试图仅阅读作者数据。 有人可以帮忙吗?
对不起,我的英语和知识哈哈,我还在学习。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
firebase的 request.auth.uid == request.resource.data.idusuario ,因此您的代码必须执行相同的操作并将其作为查询中的条件传递。
Firebase's security rules do not filter data, but merely check that your code is not requesting any data it doesn't have access to. Since your rules check that
request.auth.uid == request.resource.data.idUsuario
, your code must do the same and pass that as a condition in the query.