下面由laravel教程欄目給大家介紹關(guān)于Laravel教程使用MongoDB復(fù)雜的查詢,希望對需要的朋友有所幫助!
簡介:在使用Laravel中如果要進(jìn)行復(fù)雜的查詢,那么通過模型中的函數(shù)來查詢是不行的,所以本文主要記錄如何通過aggregate來進(jìn)行復(fù)雜的查詢。
laravel使用的mongodb庫
composer require jenssegers/mongodb
分組查詢
用戶表中包含
city_id:城市ID
sex:性別,1男,2女
age:年齡
需要通過城市ID分組查詢性別未男女的平均值,那么在laravel中實現(xiàn)如下,其他框架也大同小異
$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',//更具性別進(jìn)行分組 ????????'avg_age'?=>?[ ????????????'$avg'?=>?'$age',//查詢年齡平均值 ????????] ????]; ????//這里還可以繼續(xù)添加各種條件 ????return?$collection->aggregate($aggregate)->toArray(); });
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END