%3Cbr%3E%3Cbr%3Emicomia株式会社の井上です。今回はQuery Collectionについて解説していきます。初心者にも分かりやすく解説していくのでぜひご一読ください。%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E1. Query Collectionとは?そもそも、Query CollectionとはBackend Queryの一種で、FireStoreのコレクションからデータを取得するための仕組みです。これだけでは少し難しいかもしれないのでそんな人向けに、Query Collectionという言葉がそもそもどういう意味なのかが分かるとかなり分かりやすくなると思います。%3Cbr%3Eまず、それぞれの単語の本来の意味は、Query=質問・要求Collection=(そのままの)コレクションです。%3Cbr%3Eこれを実装環境向けに少し言い方を変えてみると、Queryとは「データベースに対する質問・要求」と言えます。具体的にどんな質問、要求かというと、「○○のデータを取得して」「最新10件だけ取ってきて」などです。%3Cbr%3Eつまり、 Query Collection = コレクションに対して質問してデータを取り出す行為となります。%3Cbr%3E%3Cbr%3E%3Cbr%3E2. Query Collectionの実装今回はこのような自分が作成した投稿を投稿履歴画面に一覧表示していきます。%3Cbr%3E一覧表示なので、まずはListViewを追加して先ほどのPostコンポーネントをListViewの中に追加します。%3Cbr%3E%3Cbr%3Eこのままでは、投稿が1つしか表示されていません。今回は投稿履歴=複数の投稿を表示させたいのでここでQuery Collectionを使用します。Add QueryからQuery Collectionを選択します。%3Cbr%3E%3Cbr%3Eすると、どのコレクションを一覧表示させるのかの選択肢が表示されます。%3Cbr%3E%3Cbr%3E今回は投稿履歴を表示させる、つまりpostコレクションを表示させたいのでpostを選択します。※データベースにコレクションを作成していない方はこの時点で何も表示されないので先にコレクションを作成してから実装を進めてください。次に、Query Typeを選択できます。%3Cbr%3E%3Cbr%3Eこの3つのそれぞれの目的は以下です。List of Documents=複数ドキュメントを取得Single Document=1つのドキュメントを取得Count=件数だけを取得今回は複数のドキュメントを取得したいのでList of Documentを使用します。その下に、Limitを入力する欄があります。これは表示させるドキュメントの個数を指定したい時に入力します。30と入力すると最大30個まで投稿が表示されるイメージです。今回実装している投稿履歴に制限があると履歴が見れなくなるので制限なしで実装します。%3Cbr%3E%3Cbr%3Eその下にあるのが、FiltersとOrderingです。Filtersは表示させる投稿に制限をかけるものです。今回だと、Filterをかけずにいると全ての投稿(他のユーザーが作成した投稿も)が自分の投稿履歴画面に表示されてしまいます。なので、以下のようなFilterをかけます。%3Cbr%3E%3Cbr%3Eこれは、その投稿の作成者(created_by)がログインしているユーザー(Authenticated User)と一致するときにその投稿を表示させると言うフィルターです。自分の投稿履歴画面ではこの設定が必須になります。次に、Orderingです。これは表示させる順番を決めるものです。今回は投稿日時が最新のものから順に並べたいので、以下のような設定にします。%3Cbr%3E%3Cbr%3EOrderはIncreasingとDecreasingがありますが、Increasingは古いもの順、Decreasingは新しいもの順と覚えておくと便利です。この状態でConfirmを押します。するとBackend Queryを本当に作って良いかの確認画面が表示されますが、特に問題ないのでここでもConfirmを押します。%3Cbr%3Eこれで、投稿履歴が一覧表示できるようになりました。%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E3. 最後に今回はQuery Collectionについて解説しました。Query Collectionは投稿履歴だけではなく、投稿一覧やユーザー一覧など多くのアプリで使用する機能で必要になってくるのでぜひ今回の内容を活用してください。%3Cbr%3E%3Cbr%3E%3Cbr%3E