Я создал базу данных в firestore db для хранения комментариев пользователей к сообщениям. База данных автоматически генерирует идентификатор комментария при добавлении комментария. Теперь я хотел удалить комментарий, используя его идентификатор, чтобы не удалять другие рядом с ним. Как я могу получить автоматически сгенерированный идентификатор комментария, чтобы удалить его из базы данных?
Это мой код для добавления комментариев в базу данных.
addComments() {
commentsRef.document(postId).collection('comments').add({
'username': currentUser.username,
'comment': commentController.text,
'avatar': currentUser.photoUrl,
'timestamp': DateTime.now(),
'userId': currentUser.id,
'likes': {},
});
bool isNotPostOwner = postOwnerId != currentUser.id;
if (isNotPostOwner) {
activityFeedRef.document(postOwnerId).collection('feedItems').add({
'type': 'comment',
'commentData': commentController.text,
'timestamp': DateTime.now(),
'postId': postId,
'ownerId': currentUser.id,
'username': currentUser.username,
'userProfileImg': currentUser.photoUrl,
'mediaUrl': postMediaUrl,
});
}
commentController.clear();
}
Я попытался использовать этот код, чтобы удалить его но он удаляет все данные в коллекции комментариев
deleteComment() async {
QuerySnapshot commentsSnapshot = await commentsRef
.document(postId)
.collection('comments')
.getDocuments();
commentsSnapshot.documents.forEach((doc) {
if (doc.exists) {
doc.reference.delete();
}
});
}