Firebase data時間順にソート


11~2233...00のFireBaseデータに入力します.

これでは望み通りにならない.
これは、firebaseにデータを入力すると、firebaseは任意のid値を与え、その値を使用してソートするためです.

時間順に並べたいので探してみました.
.orderBy("timestamp", "desc")
Googlingの結果、あちこちに入れましたが、結果は

基本的な値はqueryとgetDocsを使用して取得できます.orderBy(「timestamp」,「desc」)を関数として使用することは、queryをインポートする際の可能な方法です.
私たちはgetDocsを使っているので、方法が少し違います.

Firebaseデータの時間順にソート


新しいDate()関数を使用して
  • タイムスタンプ
  • を入力します.
    await addDoc(board, {
              writer,
              title,
              contents,
              timestamp: new Date()
            },
          );
    番号をつけてもいいです.
    orderByとqueryを
  • データのロード部にインポートし、queryを呼び出すようにgetDocs部
  • にorderByを入れる.
    
    import { collection, getDocs, getFirestore, orderBy, query } from "firebase/firestore/lite"
    
      useEffect (() => {
        async function fetchBoards() {
          const board = collection(getFirestore(firebaseApp),"board")
          const result = await getDocs(query(board, orderBy("timestamp", "desc")));
          const boards = result.docs.map((el) => el.data());
          setFireData(boards);
        }
        fetchBoards();
      }, []);
    これにより、時間降順に並べられたデータが表示されます.