チュートリアル)Firebase★前回の記事yucatio.hatenablog.com前回までで、/recentUpdatedTodosへのデータの追加を行うことはできましたが、これではどんどんデータが溜まって行ってしまうので、個数を制限します。制限を超えたら古いデータを削除します。firebaseのサンプル(limit-children)があるので、このコードをもとにします。実装方針/recentUpdatedTodosに新しくデータが登録された時に、古いデータを削除します。何件のデータを残すかは、MAX_RECENT_UPDATED_TODOSで制御します。動作確認を簡単にするため、MAX_RECENT_UPDATED_TODOSは一旦”3”にします。“/recentUpdatedTodos”の子ノードの数の取得はじめに、/recentUpdatedTodosの子ノードの数の取得をするコードを書きます。削除処理が必要なのは子の数がMAX_RECENT_UPDATED_TODOSより大きい場合なので、それ以下の場合は早期にreturnします。});})データ追加のトリガを/recentUpdatedTodos/{todoId}/_updatedAtに設定します(#1)。/recentUpdatedTodosは、_updatedAtから見て親の親なので、/recentUpdatedTodosのリファレンスはsnapshot.ref.parent.parentで取得することができます(#2)。/recentUpdatedTodosのデータを取得します(#3)。子ノードの個数はnumChildren()で取得します(#4)。子ノード数取得の動作確認デプロイして動作確認します。functions動作確認のため、一旦DBの/recentUpdatedTodosの子ノードを削除します。タスクを作成・更新して、/recentUpdatedTodosにデータを追加します。Functionsのログを確認します。/recentUpdatedTodos```の子ノードの数と、MAX_RECENT_UPDATED_TODOS``より大きいか小さいかが表示されました。制限件数を超えたら、古いデータを削除する制限件数を超えたら、古いデータから削除するように修正します。データを_updatedAtで並び替え、最初の方のデータから削除します。});})最近の更新のデータを最終更新時間順に並び変えるため、orderByChild('_updatedAt’を追加します(#1)。データは昇順に並びます。MAX_RECENT_UPDATED_TODOSぶん、/recentUpdatedTodosの子ノードを削除します(#2)。削除したいデータの値をnullにします(#3)。更新内容を、updateの引数として渡します(#4)。件数の制限の動作確認デプロイして動作確認します。functions実行前の/recentUpdatedTodosです。_updateAtの古い順に1234と番号を振りました。タスクを1件追加します。追加後の/recentUpdatedTodosです。1と2のデータが消えて、件数が3件に制限されました。件数制限のスクリプトがうまく動いています。今回は最新の10件をビューで表示するので、MAX_RECENT_UPDATED_TODOSの値を”10”に変更します。10;デプロイします。Firebaseを使用して、"最近の更新"の件数を制限することができました。「ピーターからの問題」1から9までを使って分数の穴埋め算。(1)はてなブログをはじめよう!yucatioさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。