sql >> データベース >  >> NoSQL >> MongoDB

MongoDBを使用してドキュメント内の配列を並べ替えます

    問題があります。人々はこのstackoverflowの答えを探して見つけています:

    アレイを「再構築」することは決してないので、それは間違っています。

    これは、 $ groupを使用して行います。 および $ push 、グループ化しているので、 $ first 必要なドキュメントの他のフィールドの場合:

    db.TrafficStatistic.aggregate([
       { "$unwind": "$statistic" },
       { "$sort": { "_id": 1, "statistic.data.desktop.users": 1 } },
       { "$group": {
           "_id": "$_id",
           "monthStart" : { "$first": "$monthStart" },
           "monthEnd" : { "$first": "$monthEnd" },
           "date" : { "$first": "$date" },
           "statistic": { "$push": "$statistic" }
       }}
    ])
    

    $ sortにも注意してください。 "_ id"の両方に適用されます ソートする他のフィールド。これは、並べ替えがドキュメントごとに適用されるためであり、ドキュメントの詳細を $ groupに戻すときに重要です。 。

    これで、ドキュメントは以前と同じように見えますが、今回は配列メンバーが並べ替えられています。




    1. Meteorは、別のドロップダウンが選択されたときにドロップダウンを動的にフィルタリングします

    2. Mongoアグリゲーション:値をグループに分割する

    3. ノードredis、変数はクライアント間で共有されますか?

    4. MongoDBでのジョブスケジューリング