ホームページ > PHPフレームワーク > Laravel > Laravel で MongoDB を使用した複雑なクエリについて

Laravel で MongoDB を使用した複雑なクエリについて

藏色散人
リリース: 2021-01-20 09:31:11
転載
3127 人が閲覧しました

次のコラムでは、MongoDB を使用した Laravel 複雑なクエリに関する Laravel チュートリアル コラムを紹介します。友人の役に立つことを願っています。必要としている!

Laravel で MongoDB を使用した複雑なクエリについて

はじめに: Laravel を使用するときに複雑なクエリを実行したい場合、モデル内の関数を介してクエリを実行することはできないため、この記事では主にその方法を記録します。集約を使用して複雑なクエリを実行します。

Laravel で使用される Mongodb ライブラリ

1

composer require jenssegers/mongodb

ログイン後にコピー

グループ クエリ

ユーザー テーブルには次の内容が含まれます
city_id: 都市 ID
sex: 性別、男性 1 人、女性 2 人
age: 年齢
次の方法で性別と男性と女性の平均値をクエリする必要があります。都市IDでグループ化して、laravelでの実装は次のとおりです。他のフレームワークも同様です

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

$cityId = 1;//城市ID

$count = UserModel::query()->raw(function ($collection) use ($cityId) {

    $aggregate = [];

    $aggregate[]['$match'] = [

        'city_id' => intval($city_id),//过滤城市

        'sex' => ['$in' => [1,2]],//过滤性别

    ];

    $aggregate[]['$group'] = [

        '_id' => '$sex',//更具性别进行分组

        'avg_age' => [

            '$avg' => '$age',//查询年龄平均值

        ]

    ];

    //这里还可以继续添加各种条件

    return $collection->aggregate($aggregate)->toArray();

});

ログイン後にコピー

以上がLaravel で MongoDB を使用した複雑なクエリについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート