ホームページ >ウェブフロントエンド >jsチュートリアル >MongoDB コレクション内の埋め込み配列をソートするにはどうすればよいですか?

MongoDB コレクション内の埋め込み配列をソートするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-07 07:27:03291ブラウズ

How to Sort Embedded Arrays in MongoDB Collections?

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 サイトの他の関連記事を参照してください。

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