![](/img/trans.png)
[英]How to Get Subcollection docs in Firestore Collection Group Query Flutter
[英]Flutter Firestore Collection Group
我有一家collection
公司,每家公司都有一名收款employee
。 我想創建一個查詢以根據其文檔 ID 檢索特定員工。 你知道怎么做嗎? 我正在考慮使用 collectionGroup("employee"),但找不到訪問文檔 ID 的方法。
Stream<UserModel> streamFirestoreUser() {
return _db
.collectionGroup('employee')
.where("email", isEqualTo: emailController.text)
.limit(1)
.snapshots()
.map((event) => UserModel.fromJson(event.docs.first.data()));
}
嘗試這樣的事情:
FirebaseFirestore _firestore = FirebaseFirestore.instance;
final _controller = StreamController<QuerySnapshot>.broadcast();
_listener() {
final stream = _firestore
.collection("company")
.doc(_idCompany)
.collection("employee")
.snapshots(); //retrieve all clients
stream.listen((data) {
_controller.add(data);
});
}
@override
void initState() {
super.initState();
_listener();
}
@override
void dispose() {
_controller.close();
}
...
body: StreamBuilder<QuerySnapshot>(
stream: _controller.stream,
builder: (context, snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.none:
case ConnectionState.waiting:
return //Message: loading;
case ConnectionState.active:
case ConnectionState.done:
if (snapshot.hasError) {
return //Message: error;
} else {
QuerySnapshot? querySnapshot = snapshot.data;
if (querySnapshot!.docs.length == 0) {
return //Message: no clients ;
} else {
return ListView.builder(
itemCount: querySnapshot.docs.length,
itemBuilder: (context, indice) {
List<DocumentSnapshot> clients = querySnapshot.docs.toList();
DocumentSnapshot item = clients[indice];
return //Clients;
},
);
}
}
}
},
),
我希望能幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.