Flutter 获取QuerySnapshot而不是DocumentSnapshot[颤振] StreamBuilder( 流:FirebaseFirestore.instance.collection('users').snapshots(), 生成器:(上下文,异步快照){ 如果(!snapshot.hasData){ 返回循环ProgressIndicator(); } FirestoreUser FirestoreUser= FirestoreUser.fromDocument(snapshot.data);//此处snapshot.data正在检索QuerySnapshot。 //如何将其转换为DocumentSnapshot ... 你好,StackOverflow用户
我需要给我的新firestoreUser变量指定DocumentSnapshot的类型,但我无法获取它 在写入snapshot.data之后,它会给我一个名为“QuerySnapshot不是DocumentSnapshot的子类型”的错误Flutter 获取QuerySnapshot而不是DocumentSnapshot[颤振] StreamBuilder( 流:FirebaseFirestore.instance.collection('users').snapshots(), 生成器:(上下文,异步快照){ 如果(!snapshot.hasData){ 返回循环ProgressIndicator(); } FirestoreUser FirestoreUser= FirestoreUser.fromDocument(snapshot.data);//此处snapshot.data正在检索QuerySnapshot。 //如何将其转换为DocumentSnapshot ... 你好,StackOverflow用户,flutter,dart,stream-builder,Flutter,Dart,Stream Builder,我需要给我的新firestoreUser变量指定DocumentSnapshot的类型,但我无法获取它 在写入snapshot.data之后,它会给我一个名为“QuerySnapshot不是DocumentSnapshot的子类型”的错误 p.s如您所见,我正在使用StreamBuilder。谢谢您您的流是FirebaseFirestore.instance.collection('users').Snapshot(),它是一个QuerySnapshot,意思是扩展DocumentSnapsho
p.s如您所见,我正在使用StreamBuilder。谢谢您您的流是
FirebaseFirestore.instance.collection('users').Snapshot()
,它是一个QuerySnapshot,意思是扩展DocumentSnapshot的QueryDocumentSnapshot列表。
因此,如果您想要“用户”集合中每个用户的documentSnapshot,则必须迭代snapshot.data.docs:
但是,如果要获取特定用户的文档,则可以执行以下操作:
StreamBuilder(
流:FirebaseFirestore.instance.collection('users').doc(userID.snapshots(),
生成器:(上下文,异步快照){
如果(!snapshot.hasData){
返回循环ProgressIndicator();
}
FirestoreUser FirestoreUser=
FirestoreUser.fromDocument(snapshot.data);
...
非常感谢Arnaud Delubac。祝你好运!
StreamBuilder(
stream: FirebaseFirestore.instance.collection('users').snapshots(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
}
FirestoreUser firestoreUser =
FirestoreUser.fromDocument(snapshot.data); // Here snapshot.data is retrieving QuerySnapshot.
// How I can convert it to DocumentSnapshot
...