具有动态Path的Firestore CollectionReference不起作用

时间:2020-02-19 12:16:17

标签: firebase flutter dart google-cloud-firestore

我正在尝试使用动态路径(用户特定)查询firestore集合,它可以进行硬编码,但对于变量不是动态的,有人知道这个问题并可以提供帮助吗?

预先感谢

final CollectionReference addressCollection =
 Firestore.instance.collection('users/r9qClctByGXinYAmB2MqQNctgd53/addresses');

有效。

不是:

final CollectionReference addressCollection =
 Firestore.instance.collection('users/$userId/addresses');

userId是= r9qClctByGXinYAmB2MqQNctgd53

完整的FirestoreDatabase代码:

class FirestoreDatabase {
  final _service = FirestoreService.instance;

  static String userId;

  void setUserId(uid) {
    userId = uid; 
  }

  final CollectionReference addressCollection =
      Firestore.instance.collection('users/$userId/addresses');

// Adresses List Stream

  Stream<List<Address>> get addressesStream {
    return addressCollection.snapshots().map(_addressListFromSnapshot);
  }

  List<Address> _addressListFromSnapshot(QuerySnapshot snapshot) {
    return snapshot.documents.map((doc) {
      return Address.fromMap(doc.data);
    }).toList();
  }
}

0 个答案:

没有答案