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

Laravelフレームワークのmongodbでaggregateを実行する方法

    raw()を介して、Jenssegersライブラリのaggregateメソッドにアクセスできます。 機能。

    これは、group、sort、limit、およびprojectを使用した集約呼び出しの例です。ニーズに合わせて調整できます:

    //Perform an aggregate function and get a cursor
    $cursor = Data::raw()->aggregate([
        ['$group' =>
            ['_id' => '$name', 'count' => ['$sum' => 1]]
        ],
        ['$sort' => ['count' => -1]],
        ['$limit' => 30],
        ['$project' => ['_id' => 0,
                       'text' => '$_id',
                       'size' => '$count',
                       ]
        ],
    ]);
    
    //Iterate your cursor
    $current = $cursor;
    do {
        echo $current; //Process each element
    } while (!($current = $cursor->next()));
    

    raw()を使用することに注意してください このメソッドは低レベルの呼び出しであるため、カーソルを使用する必要があります。



    1. マングースは`$set`フィールドではなくドキュメントを上書きします

    2. TornadoからRedisを*適切に*クエリするにはどうすればよいですか?

    3. SpringDataMongoでカスタムコンバーターをセットアップする

    4. コマンドラインからMongoDBにデータベースをドロップする方法