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

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

藏色散人
藏色散人転載
2021-01-19 15:43:573008ブラウズ

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

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

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

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

composer require jenssegers/mongodb

グループ クエリ

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

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

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。