タイムスタンプのインデックスでソートされた、複数のコレクションにわたって範囲ベースのクエリを実行する効率的な方法はありますか? 基本的に、3 つのコレクションから最新の 30 のドキュメントを取得する必要があります。明らかな方法は、最新の 30 のドキュメントの各コレクションをクエリし、結果をフィルタリングしてマージすることです。しかし、それはやや非効率的です。
クエリのタイムスタンプ フィールドのみを選択し、最新の 30 ドキュメントに対して 2 番目のクエリ バッチを実行したとしても、それがより良いアプローチであるかどうかはわかりません。これは、ページネーション リクエストごとに 90 個のドキュメント (フィールド全体または単一フィールド) になります。
基本的に、クライアントは記事を購読でき、記事の各カテゴリは 0 ~ 2 フィールド異なります。ベータ版でこれまでにユーザーが購読している記事の平均数であるため、3 つを選択しました。分野が異なる可能性があるため、異なるタイプのすべての記事を 1 つのコレクションにまとめても一貫性があるとは思えませんでした。