Error: Value for argument "data" is not a valid Firestore document. Cannot use "undefined" as a Firestore value (found in field "fieldName")の原因と対処法

エラーの原因

undefinedをFirestoreがサポートしていないためエラーが出ます。 なお、nullはサポートしているためエラーは出ません
参考

firebase.google.com

対策

  • undefinedではなくnullなどサポートされている型を入れる
  • firebase.firestore.SettingsでignoreUndefinedPropertiesをtrueにして、undefinedのプロパティは処理をスキップするように設定する
firebase.firestore().settings({ ignoreUndefinedProperties: true })

firebase.google.com