![見出し画像](https://assets.st-note.com/production/uploads/images/85381701/rectangle_large_type_2_c0c0e50a51d3d6b1fc4b02b344919c25.jpeg?width=800)
【新技術】Firestoreにデータを書き込んでみよう 〜超基本〜
![](https://assets.st-note.com/img/1661319878723-lafPu7st58.jpg?width=800)
![](https://assets.st-note.com/img/1661319912742-lKfyPgTMPL.jpg?width=800)
![](https://assets.st-note.com/img/1661319924240-4IbLTlA2oY.jpg?width=800)
![](https://assets.st-note.com/img/1661319935869-q0YJrTxLFC.jpg?width=800)
※ この漫画はフィクションです。実在の人物や団体などとは関係ありません。
こんにちは!
インテック3年目のモモです。
私は一昨年の8月から、Flutter+Firebaseによるスマホアプリ📱開発を行っています。
その経験を生かして、現在、Firebase(主にFirestore)の記事を連載しています!
今回は、Firestoreからデータを取得する際のお作法について書いていきます!
↓こういった方向けです!👀
・Firebaseって流行っているけどなんだろう・・・?
・バックエンドを構築したいけど、楽な方法はないのかな?
とお考えの人。
主に初心者向けですが、最終的には少し実践的な内容もお話ししていきたいと思うので、お楽しみに✨
それでは、いきましょう〜〜〜!
前回の復習
Firestoreでは、コレクションとドキュメントという概念があります。
以下の図で現すように、keyとvalueのセットの一単位をドキュメント、ドキュメントの集合体をコレクションと言います。
![](https://assets.st-note.com/img/1660005330264-xZUEOBcDDo.png?width=800)
Firestoreにデータ取得・書き込みをするにあたって、コレクション・ドキュメントの概念を押さえておくことはとても重要なので、押さえておきましょう!
Firestoreデータ取得の基本
Firestoreからデータ取得・書き込みは、基本的に
リファレンス + 命令
の基本構成で出来ています。
リファレンスとは、どこのデータを取得(書き込み)するか? というように、データを取得する対象を指します。
命令とは、リファレンスに対して、どういったデータの操作を行うのかを指します。
![](https://assets.st-note.com/img/1660005327183-wtDjqeZoql.png?width=800)
命令には、代表的なものを抜粋すると、以下のようなものがあります。(説明は後ほど・・・)
set:ドキュメントの追加、更新
add:ドキュメントの追加
get:ドキュメントの取得
update:ドキュメントの更新
delete:ドキュメントの削除
このように、Firestoreのデータ操作は、リファレンス+命令 が基本構成です!
![](https://assets.st-note.com/img/1660005329763-I2tSkwh5LH.png?width=800)
例えば、こんな社員コレクションがあったとします・・・
![](https://assets.st-note.com/img/1660005327389-gEnMjpnTQU.png?width=800)
ミヤマルさんのドキュメントを取得したい!となった場合は、
リファレンス → 社員コレクションのミヤマルさんのドキュメントID
命令 → get()
を指定することで、ドキュメントを取得することが出来ます。
![](https://assets.st-note.com/img/1660005327063-f9zeAcdbDu.png?width=800)
という声が聞こえてきそうなので、ドキュメントIDについては、前回の図を思い出してみましょう。
こちらは、モモのドキュメントを実際のFirestoreに入れた時のデータです。
![](https://assets.st-note.com/img/1660005328168-yV1rTeKBxa.png?width=800)
下の赤枠の文字列がモモのドキュメントIDです!ドキュメントIDとは、ドキュメントを作成したときに自動的に生成されるランダムな文字列です。
![](https://assets.st-note.com/img/1660005327647-nb8fTmaoXl.png?width=800)
このように、ドキュメントIDとは、ドキュメントに与えられた一意の文字列を指します。
では、社員コレクションの動物のデータ全員欲しい!となった場合は、どうでしょう?
この場合、
リファレンス → 社員コレクション
命令 → get()
となります
ではでは、このコレクションに、後輩のユウカちゃんを入れたい場合は?
![](https://assets.st-note.com/img/1660005328590-kMJjoXjd8L.png?width=800)
この場合は、
リファレンス → 社員コレクション
命令 → add()
または
リファレンス → 社員コレクションの空白のドキュメント
命令 → set()
で追加することが出来ます。
add()とset()はどちらも追加メソッドでありますが、違いは、
add() → ドキュメントIDを指定できない(addメソッドが完了した後に、ドキュメントIDを取得できる)
set() → ドキュメントIDを指定できる
使い分けとしては、
システムの中で、ドキュメントIDを指定したい場合、または、ドキュメントIDを前もって取得したい場合には、set()
ドキュメントIDを前もって利用する必要がない場合には、add()
がよく使われます。
![](https://assets.st-note.com/img/1660005329570-uXfrWqHoPH.png?width=800)
ということで、新生社員コレクションができました〜!
![](https://assets.st-note.com/img/1660005329410-zl6uoJMcun.png?width=800)
いかがだったでしょうか?
ここまでのまとめです。
Firestoreのデータ操作の基本
リファレンス + 命令
リファレンス:どこのデータを取得(書き込み)するか
命令 :set、add、get、update、delete
次回は、実際の言語を利用して、Firestoreのデータ操作をより詳しく解説していこうと思います!お楽しみに!
※ 記載されている会社名、製品名は、各社の登録商標または商標です。
この記事が気に入ったらサポートをしてみませんか?