Firestoreについて

データモデル

大きく3つの要素を指定することになります。

  1. データ
    • フィールドと値のペアを複数持っている(オブジェクト)
  2. ドキュメント
    • 1つのデータを持っている
    • ドキュメントのIDを指定する必要がある
  3. コレクション
    • 複数のドキュメントを持っている
    • コレクションのIDを指定する必要がある

      f:id:yukking3:20210911162826p:plain

コレクションの取得

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();