Firestoreについて
データモデル
大きく3つの要素を指定することになります。
- データ
- フィールドと値のペアを複数持っている(オブジェクト)
- ドキュメント
- 1つの
データ
を持っている - ドキュメントのIDを指定する必要がある
- 1つの
- コレクション
- 複数の
ドキュメント
を持っている - コレクションのIDを指定する必要がある
- 複数の
コレクションの取得
FirebaseFirestore.instance.collection('books').get();
get();を使うことでコレクションやドキュメントを取得できる。
ドキュメントの取得
FirebaseFirestore.instance.collection('books').doc('id').get();
booksというコレクションの中のドキュメントのidを取得できる。
FirebaseFirestore.instance.collection('books').doc('id').collection('orders').doc('id_123').collection('orders').doc('id_123').get();
この場合はコレクションIDとドキュメントIDを指定して取得 できる。
値の追加
2つの方法がある。
・Add()
・Set()
add()の特徴
コレクションに対して行うメソッド
追加する値に指定することで、ドキュメントを追加することができる。
FirebaseFirestore.instance
.collection('books')
.add({ 'title': title, 'author': author, });
set()の特徴
任意のドキュメントに対して追加して・一括更新をすることができる。
コレクションが存在しない場合は自動的に作成される
FirebaseFirestore.instance
.collection('users') // コレクションID
.doc('id_abc') // ドキュメントID
.set({'name': '鈴木', 'age': 40}); // データ
値の更新
FirebaseFirestore.instance
.collection('books')
.update({ 'title': title, 'author': author, });
値の削除
FirebaseFirestore.instance
.collection('books')
.doc(id)
.delete();