问题描述
我是Flutter
-Firestore
的新朋友
我正在用Firebase学习Flutter,并创建了一个示例约会应用程序
Firestore.instance.collection('users').snapshots()
我学会了这样过滤
.where((user) => user.age < settings.agemax && user.age > settings.agemin))
所有这些工作
我还有一个正在使用的子集,称为“短名单”(当前用户已列出的用户列表)。
Firestore.instance.collection('users').document(uid).collection('shortlist').snapshots()
现在,我正在尝试使用基于以下内容的过滤器重新定义我的第一个查询GetUsers
我相信我的问题是如何查询用户集合,并排除包含在Shortlist子集合中的uid记录。我打算对比赛使用相同的逻辑,并阻止它!我在正确的轨道上吗?
还...当用户进入列表/匹配/阻止某人时,我是否需要重新获取所有记录,因为流会更改,或者是否有一种方法可以从列表视图中删除该记录而无需重建,可能是我应该分开这个问题一分为二。
解决方法
如果我理解正确,您正在寻找not-in
operator(刚刚介绍过)blog post。
我希望该操作员尚未进入Flutter库,因为这可能需要一些时间。我建议检查即将发布的版本以查看何时着陆,或检查/修复存储库中的问题。
在此之前,无法从查询中排除结果,因此您将不得不在应用程序代码中exclude the items from the stream的结果。