aggregate<T extends DbBaseModel> method

  1. @override
Future<DbResult<T>> aggregate<T extends DbBaseModel>(
  1. String table,
  2. List<DbPipeline> pipeline, {
  3. DbAggregateOptions? aggregateOptions,
  4. required T converter(
    1. Map<String, dynamic> map
    ),
})
override

聚合管道操作

Implementation

@override
Future<DbResult<T>> aggregate<T extends DbBaseModel>(String table, List<DbPipeline> pipeline, {DbAggregateOptions? aggregateOptions, required T Function(Map<String, dynamic> map) converter}) async {
  try {
    final result = await _handle.aggregate(table, pipeline, aggregateOptions: aggregateOptions, converter: converter);
    (result.success ? logDebug : logWarn)(['aggregate =>', table, pipeline, aggregateOptions, result]);
    return result;
  } catch (error, stack) {
    logError(['aggregate =>', table, pipeline, aggregateOptions, error, '\n', stack]);
    return DbResult(success: false, rescode: -1, message: error.toString());
  }
}