Maison >cadre php >Laravel >À propos des requêtes complexes utilisant MongoDB avec Laravel

À propos des requêtes complexes utilisant MongoDB avec Laravel

藏色散人
藏色散人avant
2021-01-19 15:43:573003parcourir

Ce qui suit est la colonne Tutoriel Laravel pour vous présenter Laravel utilisant les requêtes complexes MongoDB, j'espère que cela sera utile à vos amis dans le besoin !

À propos des requêtes complexes utilisant MongoDB avec Laravel

Introduction : Si vous souhaitez effectuer des requêtes complexes dans Laravel, il n'est pas possible d'interroger via les fonctions du modèle, cet article explique donc principalement comment utiliser agréger pour effectuer des requêtes complexes.

Bibliothèque Mongodb utilisée par Laravel

composer require jenssegers/mongodb

Requête de groupe

La table utilisateur contient
city_id : identifiant de la ville
sexe : sexe, 1 homme, 2 femmes
âge : âge
Vous devez interroger la moyenne du sexe et des hommes et des femmes par identifiant de ville regroupement, puis dans L'implémentation dans laravel est la suivante, d'autres frameworks sont également similaires

$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();
});

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer