#flutter #dart
Вопрос:
Цель
Получить название документа из AsyncSnapshotlt;QuerySnapshotgt;
Что Я Сделал
В этой коллекции users
есть много документов, название которых-uid. Использовал FutureBuilder
и получил AsyncSnapshotlt;QuerySnapshotgt;
.
FutureBuilder( future: FirebaseFirestore.instance .collection("users") .where('type', arrayContainsAny: ["Game", "Movie"]) .get(), builder: (BuildContext context, AsyncSnapshotlt;QuerySnapshotgt; snapshot) { if (snapshot.hasError) { return Text(snapshot.error.toString()); } if (snapshot.connectionState == ConnectionState.done) { String uid = ...... // Want to get document id (= uid)
Используя этот снимок, можно было получить поля каждого документа. Но, конечно, они не включают свое собственное имя.
Как я могу получить удостоверение личности с документом AsyncSnapshotlt;QuerySnapshotgt;
?
Ответ №1:
snapshot.data!.docs
может содержать ноль, 1 или более документов, соответствующих критериям. Это список моментальных снимков документов.
Так, например, первый результат может быть в snapshot.data!docs[0]
. Отсюда, чтобы получить идентификатор документа (в вашем случае uid), просто используйте snapshot.data!docs[0].id
.