はじめに
firebaseから取得したデータをソートしたかったのですが、firebase上でのクエリの書き方やそもそもリファレンスやスナップショットの関係について理解していなかったので簡単にまとめてみます。
関係図などはこちらの記事を参考にしていました。
FireBaseを操作する基本的な流れ
①Firebaseからcollection()でCollectionReferenceを取得
②CollectionReferenceからget()でQuerySnapshotを取得
③QuerySnapshotからdoc()でQueryDocumentSnapshotを取得
④QueryDocumentSnapshotからdata()でDocumentDataを取得
やりかた
query関数の第一引数にcollection,第二引数にqueryを渡し、getDocs()に渡す
~略~
const db = getFirestore(app);
const q = query(
collection(db, "document"),
orderBy("createdAt", "desc")
).withConverter(documentConverter);
const snapshot = await getDocs(q);
return snapshot.docs.map((doc) => doc.data());
}
おわりに
typescriptを使っていたので型エラーと頻繁に戦っていました。
公式ドキュメントを読める力も大事なので慣れていきたいです。
(どうしても図解が欲しくなってしまいます)