如何解决如何在Flutter的gridview中从Firestore中获取特定项目
我正在Firebase Firestore
的{{1}}中使用Gridview
。我正在尝试仅获取来自用户的Flutter
与uid
中的记录匹配的项目。我似乎无法弄清楚该如何做。或者我得到了想要的结果,但是我不想拥有的记录是Firestore
中的空白区域。此空白空间是其他记录,与Gridview
不匹配。否则,循环将在uid
第一次不匹配时停止。
如果我在else语句中返回uid
,则一旦存在一个错误匹配项,循环就会停止。
有没有办法我只能在null
中获取我想要的记录,而之前没有空白?
解决方法
简短答案
将您的信息流更改为此
stream: FirebaseFirestore
.instance
.collection('users')
.where('uid',isEqualTo: _auth.currentUser())
.snapshots(),
然后不再需要比较uid的其他if语句
为什么有效
where()函数将对集合进行预过滤,因此您仅获取满足条件的文档,在这种情况下,即uid匹配。您唯一的错误是,在检索完每个文档之后,您正在比较uid。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。