我正在使用 StreamBuilder 从 firestore 流式传输数据。
StreamBuilder<QuerySnapshot>(
stream: _firestore.collection('meals').where('email', isEqualTo: loggedInUser.email).orderBy('date', descending: true).snapshots(),
如果我取出.where
流的一部分,它会将所有数据返回到设备。完成此操作后,我可以将.where
部分放回原处,它工作正常。但是,它不会立即起作用。这表明该.where
部分仅在缓存已经有数据时才有效。此外,如果我使用 Firestore 控制台添加文档,它不会使用新数据更新应用程序。但是由于某种原因,如果我删除该部分,它将显示所有更新的文档.where
。
我真的很困惑。有任何想法吗?
谢谢杰森
更新:我现在想出了如何解决这个问题。请参阅下面的答案,了解我是如何解决的。