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

MongoAggregation

    最新バージョンのmongodbがインストールされていると仮定すると、それを行う1つの方法は次のとおりです。

    • 並べ替え published_dateに基づくレコード 降順。
    • グループ カテゴリに基づくレコード 。グループごとに、すべてのレコードを1つの配列にまとめます。
    • javascript /クライアント側のコードで、スライス 各グループ(カテゴリ)の上位5つのレコード。

    $スライス サーバー側の$projectでは使用できません サーバー側での操作の実行を妨げる集約パイプライン演算子。

    var result = db.collection.aggregate(
    [
    {$sort:{"published_date":-1}},
    {$group:{"_id":"$category","values":{$push:"$$ROOT"}}}
    ]
    ).map(function(doc){
    return {"category":doc._id,"records":doc.values.slice(0,5)};
    });
    

    結果 変数はドキュメントの配列になります。各カテゴリを表す各ドキュメント そして今度はトップ5の配列を持ちます 記録。



    1. マングースコンプレックス(非同期)仮想

    2. MongoDB集計ソートが機能しない

    3. JavascriptmomentjsはUTCを文字列から日付オブジェクトに変換します

    4. DataTableをRedisとの間でシリアル化/逆シリアル化するための最も時間効率の良い方法は何ですか?