ホームページ  >  記事  >  ウェブフロントエンド  >  MongoDB の埋め込みドキュメント内の配列を並べ替えるにはどうすればよいですか?

MongoDB の埋め込みドキュメント内の配列を並べ替えるにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-07 08:01:02982ブラウズ

How to Sort Arrays within Embedded Documents in MongoDB?

MongoDB の埋め込みドキュメント内の配列の並べ替え

MongoDB を使用する場合、多くの場合、埋め込みドキュメント内に含まれる配列を並べ替える必要があります。これは難しい作業になる可能性がありますが、幸いなことに、利用できる方法がいくつかあります。

この質問は、生徒のレコード内の「スコア」配列をスコアの降順に並べ替えることを中心に展開されています。提案されたソリューションは、mongo シェルと、MongoDB 2.2 で導入された新機能である集約フレームワークの使用に依存しています。

回答で提供される集約クエリは、いくつかの段階を採用しています:

  1. $match: このステージでは、一致基準を使用して、目的のドキュメントのコレクションをフィルターします。この場合、_id が 1 に等しいドキュメントが選択されます。
  2. $unwind: このステージでは、埋め込まれた「スコア」配列を分解し、個々のドキュメントのストリームに変換します。各文書には、生徒の _id、名前、および 1 つのスコアが含まれています。
  3. $match: この段階では、巻き戻された文書を「タイプ」フィールドに基づいてフィルタリングし、「タイプ」を持つ文書のみを選択します。 "宿題" と同じです。
  4. $sort: このステージでは、"scores" 埋め込みドキュメント内の "score" フィールドの降順でドキュメントを並べ替えます。

結果は、各生徒の _id、名前、宿題の最高点を含む一連の文書になります。 Aggregation Framework はより複雑な変換とフィルタリングを可能にし、MongoDB の埋め込み配列を操作するための強力なツールになることに注意することが重要です。

以上がMongoDB の埋め込みドキュメント内の配列を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。