MongoDB コレクション内の埋め込み配列の並べ替え
問題:
次の MongoDB コレクションがあります。生徒のレコードには、スコアの埋め込み配列が含まれています。特定のドキュメントのスコアの降順でスコア配列を並べ替えたいとします。
解決策:
埋め込み配列を並べ替えるには、いずれかのカスタム アプリケーション コードを利用できます。または、MongoDB 2.2 で導入された集計フレームワーク。
集計フレームワークの使用:
次の MongoDB シェル集計パイプラインは、_id 1 を持つドキュメントのスコア配列を降順で並べ替えます。スコアの:
db.students.aggregate( { $match: { _id : 1 }}, { $unwind: '$scores' }, { $match: { 'scores.type': 'homework' }}, { $sort: { 'scores.score': -1 }} )
出力:
この集計により次の出力が生成され、_id 1 の生徒のソートされた宿題スコアが表示されます:
{ "result" : [ { "_id" : 1, "name" : "Aurelia Menendez", "scores" : { "type" : "homework", "score" : 71.76133439165544 } }, { "_id" : 1, "name" : "Aurelia Menendez", "scores" : { "type" : "homework", "score" : 34.85718117893772 } } ], "ok" : 1 }
以上がMongoDB コレクション内の埋め込み配列をソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。