updateData
スポンサーリンク

既存のドキュメントのフィールドを更新する方法をまとめておきます。

update()メソッドを使えば良い

 

具体例

 

Swift-code

 

一つずつ説明していきます。

private func updateProfile() {}

これはユーザーのプロフィールを更新するためのメソッドなのでこのような名前にしました。皆さんそれぞれ好きな名前をつけてください。

 

別のVCでドキュメント名を.uidで作成しているので、userIdに.uidを代入

guard let userId = Auth.auth().currentUser?.uid else { fatalError() }

ドキュメントを作る際、特に指定しなければドキュメント名はFirestore側が勝手に決めます。私はそれが嫌だったので別の(前の)画面のViewControllerでAuthの.uidをドキュメント名に指定しました。

そのため、ここでも定数userIdAuth.auth().currentUser?.uid(現在のユーザーの.uid)を代入しています。

 

ドキュメントのパスを定数refに代入

let ref = db.collection("users").document(userId)

パス(更新したいフィールドのありか)を定数refに入れる。userIdにはすでにAuthの.uidが入っているため、db.collection("users").document(userId)で現在のユーザーの.uidと同じ.uidを名前に持つドキュメントを特定できる。

Database

↑ドキュメント名がuidと一致している

 

キー値"userName"の値を更新する

ref.updateData([
"userName": userNameTextField.text ?? "noname"
]) ~ }

.updateData()で値の更新ができます。指定したドキュメント内でキー値"userName"で保存されている値を変数userNameTextField.textの値に更新しています。

??演算子は左辺にOptional型の値を、右辺にWrapped型の値を取って、

左辺のOptional型に値が存在すればアンラップしたWrapped型の値を返し、存在しなければ右辺のWrapped型の値を返す演算子です。

つまり、左辺に値がない場合は右辺の値("noname")がデフォルトの値(ユーザー名)になるということです。

Swift(iOS)が学べるオンラインスクール ランキング
CodeCamp
CodeCamp
7〜24時まで授業可能で働きながらでも学べる!!
料金
講師の質
コースの種類
転職サポート
ポイント1エンジニア経験2年以上のベテラン講師によるオンライン授業
講師は全員が現役のエンジニアで、他のスクールによく見られるアルバイト講師ではありません。マンツーマン指導で自分のレベルにあったカリキュラムが組め、満足度も高いです。また、自社開発企業への転職指導にも定評があります。

ポイント2無料レッスン体験&無料受講相談で事前に話が聞ける
事前にレッスンを体験して授業の雰囲気や学習ペースを確認できます。またエンジニア転職を目指す方にはどのコースが向いているかなどが聞けるカウンセリング(受講相談)も無料。エンジニアの生の声が聞けるので自分が働き出した時のことをイメージできます。

TechAcademy

授業型ではなく自習型なので自分のペースで学べる
料金
講師の質
コースの種類
転職サポート
ポイント1自習スタイルでチャット質問は何回でも無料
自分の分からないところを質問するスタイルなのでわかるところはサクッと、わからないところはじっくりと、無駄なく学べます。チャットの質問が無料なので、料金を気にせず何回でも聞けます。また、メンターがつくのでカウンセリングで学習の進捗やモチベーションの管理もしてくれます。
ポイント21週間の無料体験と無料カウンセリング、安心の返金制度も
無料体験の期間は1週間もあり、納得してから契約できるので安心です。事前の無料カウンセリングでは、その人にあったアドバイス等をもらうことができるので気軽に活用しよう。転職保障コースの場合、転職できなかったら全額返金!!
侍エンジニア塾
プログラミングスクールの老舗NO.1
料金
講師の質
コースの種類
転職サポート
ポイント1歴史があるからノウハウも豊富
日本で初めてオンラインのマンツーマンレッスン指導を導入した実績十分のスクール。講師も現役エンジニアでメンタリングもあるため転職のサポートも手厚く、面接対策や自己PRのフィードバックまで対応してくれます。

ポイント2転職成功率94.1%、挫折率8%
コースによっては転職成功で受講料が0円に!!  絶対にエンジニアになりたいという意思があれば超低額で転職できます。事前の無料体験で相談も可能なため、まずは話だけ聞いてみるのもあり。

おすすめの記事