2021/06/16
フロントエンド /
firestore ドキュメントを追加順に並び替える方法

書き込み
import firebase from 'firebase/app'
import 'firebase/analytics'
import 'firebase/auth'
import 'firebase/firestore'
firebase.initializeApp({
apiKey: '<apiKey>',
authDomain: '<authDomain>',
projectId: '<projectId>',
})
const db = firebase.firestore()
db.collection('<コレクション名>')
.doc('<ドキュメント名>') //collection.add({})だとdocの指定はない
.set({
title: "タイトル1",
category: "カテゴリ1",
timestamp: firebase.firestore.Timestamp.fromDate(new Date()),// 追加日を登録する。追加順に並び替える際に必須
})
.then(() => {
// 書き込み完了後のコード
})
.catch((error: any) => {
console.error('Error adding document: ', error)
alert('保存に失敗しました')
})
読み込み(コードは書き込みの続き)
db.collection('<コレクション名>')
.orderBy('timestamp', 'asc') // 追加日昇順に並び替え
.get()
.then((querySnapshot: any) => {
querySnapshot.forEach((doc: any) => {
console.log(doc.get('title'),doc.get('category'))// (タイトル1,カテゴリ1)
})
})
timestampを設定しないと自動生成されたドキュメントIDの順番に並び替えられてしまいます。
ドキュメントを追加した順に並び替える方法を探すのに少々時間がかかったのでメモ程度に。