FirestoreのSDKを使っていると、Collection/Document/QuerySnapshot/DocumentSnapshot、、、、、などなどなど、用語が多すぎてわけわからないことになるので整理しました。
基本的なデータモデルの話はこちらをご覧ください。
https://firebase.google.com/docs/firestore/data-model?hl=ja
各クラスの関係
上記の図を参考にいくつかの例を確認してみましょう 例は一応Node.jsでFirebase Admin SDKを使った場合を想定しています。
コレクションA内のドキュメントの数を取得する
const snapshot = await firestore.collection("A").get(); console.log(snapshot.docs.length);
コレクションC1内のドキュメントDに含まれるtextを取得
const docSnapshot = await firestore.collection("C1").doc("D").get(); if(docSnapshot.exists) { const obj = docSnapshot.data(); console.log(obj.text); }
上の図を参考にすると、とってもスムーズに書けますね😉