如何获取其他流发出id的Firestore文档快照流?

时间:2020-01-02 21:15:44

标签: flutter dart google-cloud-firestore rxdart

我想从Firestore创建DocumentSnapshots流,可以从另一个流中提供文档ID。

只要此ID发生更改(例如,登录或注销后),我的AuthRepository就会发出用户ID。

让我们说它看起来像这样:

  Stream<String> get userId => _firebaseAuth.onAuthStateChanged.map((user) {
        if (user != null)
          return user.uid;
        else {
          return null;
        }
      });

然后我想使用此流从Firestore获取DocumentSnapshot流,例如以_firestore.document('users/$id').snapshots()的形式:

  // We have access to Firestore here 
  final Firestore _firestore;

  Stream<DocumentSnapshot> get _usersSnapshotsStream {
    // What should I use here? asyncExpand? map? transform?
    return _authRepository.userId.map((id) {
       // I want to access _firestore.document('users/$id').snapshots()

    });
  }

我应该在_usersSnapshotsStream中执行什么流操作,以始终获取从其他流提供的给定用户ID的最新文档?

0 个答案:

没有答案