我正在尝试使用动态路径(用户特定)查询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();
}
}