Получение идентификатора документа Firestore при сопоставлении коллекции

# #firebase #flutter #dart #google-cloud-firestore

Вопрос:

Я создаю представление списка в Flutter, используя

           ...snapshot.data.docs.map((DocumentSnapshot document) {
            Map<String, dynamic> data =
                document.data() as Map<String, dynamic>;
 

но я хотел бы удалить документ из firebase, когда будет нажата соответствующая плитка списка

Я подумывал о том, чтобы использовать

               onTap: () async {
                await FirebaseFirestore.instance
                    .collection('User Data')
                    .doc('document_id')
                    .delete();
              },
 

для этого, но мне нужен идентификатор document_id как мне получить идентификатор документа при сопоставлении ?

вот мой полный код

           ...snapshot.data.docs.map((DocumentSnapshot document) {
            Map<String, dynamic> data =
                document.data() as Map<String, dynamic>;
            return InkWell(
              onTap: () async {
                await FirebaseFirestore.instance
                    .collection('User Data')
                    .doc('document_id')
                    .delete();
              },
              child: HomeCard(
 

🙏

Ответ №1:

У DocumentSnapshot класса есть id свойство.

          ...snapshot.data.docs.map((DocumentSnapshot document) {
            Map<String, dynamic> data =
                document.data() as Map<String, dynamic>;
            return InkWell(
              onTap: () async {
                await FirebaseFirestore.instance
                    .collection('User Data')
                    .doc(document.id)
                    .delete();
              },
              child: HomeCard(
 

Вы можете проверить документы на странице api Flutter.