Every time I answer the first question of the assessment I get an empty string added (as an option) as well as the option that was selected and I'm not sure where this is coming from. Also when Firebase is updated, if the string matches another string, for example 'Yes' is selected for more than one question, it only appears the first time in Firebase. I would prefer the option number to show anyway instead of the option string so it shows 'option1' instead of 'Yes, completely'. How would I fix these issues?

Ideally, I would like to update Firebase with the question and below it which option number was selected for that question.

enter image description here

Future<void> update(Map data) {
    return ref.setData(Map<String, dynamic>.from(data), merge: true);

Future<void> update(Map data) async {
    FirebaseUser user = await _auth.currentUser();
    Document<T> ref = Document(path:  '$collection/${user.uid}');
    return ref.update(data);

Future<void> _updateUserReportWithQuestion(Questions questions, Options optionSelected) {
  return Global.reportRef.update(
      'questions': {
      'questions': FieldValue.arrayUnion([questions.text]),
      'options': FieldValue.arrayUnion([