Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase Firestore如何从文档快照流中的快照访问值_Firebase_Flutter_Dart_Google Cloud Firestore_Dart Stream - Fatal编程技术网

Firebase Firestore如何从文档快照流中的快照访问值

Firebase Firestore如何从文档快照流中的快照访问值,firebase,flutter,dart,google-cloud-firestore,dart-stream,Firebase,Flutter,Dart,Google Cloud Firestore,Dart Stream,我不熟悉dart/Flatter,现在正在开发一个应用程序,在firstore数据库中跟踪每个用户的一些数据。我有一个“用户”集合,其中包含每个用户的文档,用户文档中的一个字段是通过firebase_auth接收的“UID” 也就是说,为了确保能够访问用户文档的最新副本,我保存了一个流。我想以某种方式从流中的最新快照访问“UID”字段,然后对其执行一些其他操作 有什么办法可以这样做吗?我是否错误地使用/理解了流?如果您只需要UID来构建其他小部件,那么您可以简单地使用,只要从流中发出一个新值(您

我不熟悉dart/Flatter,现在正在开发一个应用程序,在firstore数据库中跟踪每个用户的一些数据。我有一个“用户”集合,其中包含每个用户的文档,用户文档中的一个字段是通过firebase_auth接收的“UID”

也就是说,为了确保能够访问用户文档的最新副本,我保存了一个流。我想以某种方式从流中的最新快照访问“UID”字段,然后对其执行一些其他操作


有什么办法可以这样做吗?我是否错误地使用/理解了流?

如果您只需要UID来构建其他小部件,那么您可以简单地使用,只要从流中发出一个新值(您获得了它的副本),它就会重新构建它的子项。但是,如果您需要在任意时间点访问最新的UID,请查看RxDart,它提供对最新发出值(如果存在)的恒定时间同步访问。一般来说,这对处理状态非常有帮助。

这是否允许我监听子集合中的更改?现在,我的每个用户文档都有一个子集合“Friends”,其中该子集合包含仅包含朋友UID的文档。我想获得friend UID的最新列表是的,
BehaviorSubject
可以使用其
addStream
函数作为流的包装器,同时也可以作为流本身。它只提供一个
字段,该字段是上次发出值的缓存版本,您可以使用它在任何时间点获取上次发出值。作为提示,如果您希望将2+个流组合成一个具有每个流中最新元素的单一流,请查看RxDart的
combinelatetest
方法。