mongo_aggregation library

Mongodb aggregation library

Simplifies to create aggregation pipelines using Dart code.

Basic usage:

final db = Db('mongodb://127.0.0.1/testdb');
final pipeline = AggregationPipelineBuilder()
  .addStage(
    Match(where.eq('status', 'A').map['\$query']))
  .addStage(
    Group(
      id: Field('cust_id'),
      fields: {
        'total': Sum(Field('amount'))
      }
    )).build();
final result =
  await DbCollection(db, 'orders')
    .aggregateToStream(pipeline).toList();

Full mongoDB documentation on aggregation queries: https://docs.mongodb.com/manual/aggregation/

Classes

Abs
$abs operator [...]
Accumulator
Basic accumulation operator
Add
$add operator [...]
AddFields
$addFields aggregation stage [...]
AddToSet
$addToSet operator
AEList
Aggregation expression's list [...]
AEObject
Aggregation expression's object [...]
AggregationExpr
Aggregation expression
AggregationPipelineBuilder
Aggregation pipeline builder
AggregationStage
Aggregation stage base
And
$and operator
ArrayElemAt
$arrayElemAt operator [...]
ArrayToObject
$arrayToObject operator [...]
Avg
$avg operator
Bucket
$bucket aggregation stage [...]
BucketAuto
$bucketAuto aggregation stage [...]
Builder
Builder interface
Case
Case branch for Switch operator
Ceil
$ceil operator [...]
Cmp
$cmp operator [...]
Concat
$concat operator
ConcatArrays
$concatArrays operator [...]
Cond
$cond operator [...]
Const
Constant expression
Convert
$convert operator
Count
$count aggregation stage [...]
DateFromParts
$dateFromParts
DateFromString
$dateFromString operator
DateToParts
$dateToParts operator
DayOfMonth
$dayOfMonth operator
DayOfWeek
$dayOfWeek operator
DayOfYear
$dayOfYear operator
Divide
$divide operator [...]
Eq
$eq operator [...]
Exp
$exp operator [...]
Expr
$expr operator
Facet
$facet aggregation stage [...]
Field
Field path expression
Filter
$filter operator [...]
First
$first operator
Floor
$floor operator [...]
Granularity
Granularity for BucketAuto [...]
Group
$group aggregation stage [...]
Gt
$gt operator [...]
Gte
$gte operator [...]
Hour
$hour operator
IfNull
$ifNull operator [...]
In
$in operator [...]
IndexOfArray
$indexOfArray operator [...]
IndexOfBytes
$indexOfBytes operator
IndexOfCP
$indexOfCP operator
IsArray
$isArray operator [...]
IsoDateFromParts
ISO date from parts [...]
IsoDayOfWeek
$isoDayOfWeek operator
IsoWeek
$isoWeek operator
IsoWeekYear
$isoWeekYear operator
Last
$last operator
Let
$let operator
Limit
$limit aggregation stage [...]
Literal
Literal expression [...]
Ln
$ln operator [...]
Log
$log operator [...]
Log10
$log10 operator [...]
Lookup
$lookup aggregation stage [...]
Lt
$lt operator [...]
Lte
lte operator [...]
Ltrim
$ltrim operator
MapOp
$map operator [...]
Match
$match aggregation stage [...]
Max
$max operator
MergeObjects
$mergeObjects operator [...]
Millisecond
$millisecond operator
Min
$min operator
Minute
$minute operator
Mod
$mod operator [...]
Month
$month operator
Multiply
$multiply operator [...]
Ne
$ne operator [...]
Not
$not operator
ObjectToArray
$objectToArray [...]
Operator
Basic aggregation operator
Or
$or operator
Pow
$pow operator [...]
Project
$project aggragation stage [...]
Push
$push operator
Range
$range operator [...]
Reduce
$reduce operator [...]
RegexFind
$regexFind operator
RegexFindAll
$regexFindAll operator
RegexMatch
$regexMatch operator
ReplaceRoot
$replaceRoot aggregation stage [...]
ReplaceWith
$replaceWith aggregation stage [...]
ReverseArray
$reverseArray operator [...]
Round
$round operator [...]
Rtrim
$rtrim operator
Second
$second operator
SetStage
$set aggregation stage [...]
Size
$size operator [...]
Skip
$skip aggregation stage [...]
Slice
$slice operator [...]
Sort
$sort aggregation stage [...]
SortByCount
$sortByCount [...]
Split
$split operator
Sqrt
$sqrt operator [...]
StdDevPop
$stdDevPop operator
StdDevSamp
$stdDevSamp operator
StrCaseCmp
$strcasecmp operator
StrLenBytes
$strLenBytes operator
StrLenCP
$strLenCP operator
SubstrBytes
$substrBytes operator
SubstrCP
$substrCP operator
Subtract
$subtract operator [...]
Sum
$sum operator
Switch
$switch operator [...]
ToBool
$toBool operator
ToDate
$toDate operator
ToDecimal
$toDecimal operator
ToDouble
$toDouble operator
ToInt
$toInt operator
ToLong
$toLong operator
ToLower
$toLower operator
ToObjectId
$toObjectId operator
ToString
$toString operator
ToUpper
$toUpper operator
Trim
$trim operator
Trunc
$trunc operator [...]
Type
$type operator
Unset
$unset aggregation stage [...]
Unwind
$unwind aggregation stage [...]
Var
Aggregation expression's variable [...]
Week
$week operator
Year
$year operator
Zip
$zip operator [...]