簡介:在使用Laravel中如果要進行複雜的查詢,那麼透過模型中的函數來查詢是不行的,所以本文主要記錄如何透過aggregate來進行複雜的查詢。
Laravel使用的mongodb庫#
composer require jenssegers/mongodb登入後複製
##分組查詢
$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中文網其他相關文章!