Cml\Db\MongoDB\MongoDB::aggregation PHP Method

aggregation() private method

获取聚合的结果
private aggregation ( string $field, boolean | string $isMulti = false, string $operation = '$max', boolean | string $useMaster = false ) : mixed
$field string 要统计的字段名
$isMulti boolean | string 结果集是否为多条 默认只有一条。传字符串时此参数为要$group的字段
$operation string 聚合操作
$useMaster boolean | string 是否使用主库 默认读取从库
return mixed
    private function aggregation($field, $isMulti = false, $operation = '$max', $useMaster = false)
    {
        $pipe = [];
        empty($this->sql['where']) || ($pipe[] = ['$match' => $this->sql['where']]);
        $pipe[] = ['$group' => ['_id' => $isMulti ? '$' . $isMulti : '0', 'count' => [$operation => '$' . $field]]];
        $res = $this->mongoDbAggregate($pipe, [], $useMaster);
        if ($isMulti === false) {
            return $res[0]['count'];
        } else {
            return $res;
        }
    }