reactivemongo.api.commands

AggregationFramework

trait AggregationFramework[P <: SerializationPack] extends ImplicitCommandHelpers[P] with GroupAggregation[P] with SliceAggregation[P] with AggregationPipeline[P]

Implements the Aggregation Framework.

See also

PipelineOperator

Linear Supertypes
AggregationPipeline[P], SliceAggregation[P], GroupAggregation[P], ImplicitCommandHelpers[P], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. AggregationFramework
  2. AggregationPipeline
  3. SliceAggregation
  4. GroupAggregation
  5. ImplicitCommandHelpers
  6. AnyRef
  7. Any
Implicitly
  1. by any2stringadd
  2. by any2stringfmt
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class AddFieldToSet extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  2. case class AddFields extends PipelineOperator with Product with Serializable

    Since MongoDB 3.

    Since MongoDB 3.4

    Definition Classes
    GroupAggregation
    See also

    https://docs.mongodb.com/manual/reference/operator/aggregation/addFields/

  3. case class AddToSet extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  4. case class Ascending(field: String) extends SortOrder with Product with Serializable

    Ascending sort order

  5. case class Avg extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  6. case class AvgField extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  7. case class BucketAuto(groupBy: P.Value, buckets: Int, granularity: Option[String])(output: (String, AggregationFramework.GroupFunction)*) extends PipelineOperator with Product with Serializable

    Since MongoDB 3.

  8. final class ChangeStream extends PipelineOperator

    Low level pipeline operator which allows to open a tailable cursor against subsequent ChangeEvents of a given collection (since MongoDB 3.

  9. case class Count(outputName: String) extends PipelineOperator with Product with Serializable

    _Since MongoDB 3.

  10. case class Descending(field: String) extends SortOrder with Product with Serializable

    Descending sort order

  11. case class Facet(specifications: Iterable[(String, (AggregationFramework.PipelineOperator, List[AggregationFramework.PipelineOperator]))]) extends PipelineOperator with Product with Serializable

    Processes multiple aggregation pipelines within a single stage on the same set of input documents.

  12. case class Filter(input: P.Value, as: String, cond: P.Document) extends PipelineOperator with Product with Serializable

    The $filter aggregation stage.

  13. case class First extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  14. case class FirstField extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  15. class GeoNear extends PipelineOperator with Product with Serializable

    Outputs documents in order of nearest to farthest from a specified point.

  16. case class GraphLookup(from: String, startWith: P.Value, connectFromField: String, connectToField: String, as: String, maxDepth: Option[Int] = scala.None, depthField: Option[String] = scala.None, restrictSearchWithMatch: Option[P.Value] = scala.None) extends PipelineOperator with Product with Serializable

    _Since MongoDB 3.

  17. case class Group(identifiers: P.Value)(ops: (String, AggregationFramework.GroupFunction)*) extends PipelineOperator with Product with Serializable

    Groups documents together to calculate aggregates on document collections.

  18. case class GroupField(idField: String)(ops: (String, AggregationFramework.GroupFunction)*) extends PipelineOperator with Product with Serializable

    Groups documents together to calculate aggregates on document collections.

  19. sealed trait GroupFunction extends AnyRef

    Represents one of the group/accumulator operators, for the $group aggregation.

    Represents one of the group/accumulator operators, for the $group aggregation. Operation.

    Definition Classes
    GroupAggregation
    See also

    https://docs.mongodb.com/manual/reference/operator/aggregation/group/#accumulator-operator

  20. case class GroupMulti(idFields: (String, String)*)(ops: (String, AggregationFramework.GroupFunction)*) extends PipelineOperator with Product with Serializable

    Groups documents together to calculate aggregates on document collections.

  21. trait ImplicitlyDocumentProducer extends AnyRef

    Definition Classes
    ImplicitCommandHelpers
  22. case class IndexStatAccesses(ops: Long, since: Long) extends Product with Serializable

  23. case class IndexStatsResult(name: String, key: P.Document, host: String, accesses: IndexStatAccesses) extends Product with Serializable

  24. case class Last extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  25. case class LastField extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  26. case class Limit(limit: Int) extends PipelineOperator with Product with Serializable

    Limits the number of documents that pass through the stream.

  27. case class Lookup(from: String, localField: String, foreignField: String, as: String) extends PipelineOperator with Product with Serializable

    _Since MongoDB 3.

  28. case class Match(predicate: P.Document) extends PipelineOperator with Product with Serializable

    Filters out documents from the stream that do not match the predicate.

  29. case class Max extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  30. case class MaxField extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  31. sealed trait MetadataKeyword extends AnyRef

    Keyword of metadata.

  32. case class MetadataSort(field: String, keyword: MetadataKeyword) extends SortOrder with Product with Serializable

    Metadata sort order.

  33. case class Min extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  34. case class MinField extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  35. case class Out(collection: String) extends PipelineOperator with Product with Serializable

    Takes the documents returned by the aggregation pipeline and writes them to a specified collection http://docs.

  36. type Pipeline = (PipelineOperator, List[PipelineOperator])

    Aggregation pipeline (with at least one stage operator)

    Aggregation pipeline (with at least one stage operator)

    Definition Classes
    AggregationPipeline
  37. trait PipelineOperator extends AnyRef

    One of MongoDBs pipeline operators for aggregation.

    One of MongoDBs pipeline operators for aggregation. Sealed as these are defined in the MongoDB specifications, and clients should not have custom operators.

    Definition Classes
    AggregationPipeline
  38. case class Project(specifications: P.Document) extends PipelineOperator with Product with Serializable

    Reshapes a document stream by renaming, adding, or removing fields.

  39. case class Push extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  40. case class PushField extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  41. case class Redact(expression: P.Document) extends PipelineOperator with Product with Serializable

    Restricts the contents of the documents based on information stored in the documents themselves.

  42. case class ReplaceRoot(newRoot: P.Document) extends PipelineOperator with Product with Serializable

    Promotes a specified document to the top level and replaces all other fields.

  43. case class ReplaceRootField(newRoot: String) extends PipelineOperator with Product with Serializable

    Promotes a specified document to the top level and replaces all other fields.

  44. case class Sample(size: Int) extends PipelineOperator with Product with Serializable

    Randomly selects the specified number of documents from its input.

  45. case class Skip(skip: Int) extends PipelineOperator with Product with Serializable

    Skips over a number of documents before passing all further documents along the stream.

  46. final class Slice extends PipelineOperator

    Returns a subset of an array.

    Returns a subset of an array. https://docs.mongodb.com/manual/reference/operator/aggregation/slice/

    Definition Classes
    SliceAggregation
  47. case class Sort(fields: SortOrder*) extends PipelineOperator with Product with Serializable

    Sorts the stream based on the given fields.

  48. sealed trait SortOrder extends AnyRef

    Represents that a field should be sorted on, as well as whether it should be ascending or descending.

  49. case class StdDevPop extends GroupFunction with Product with Serializable

    The $stdDevPop group accumulator (since MongoDB 3.

    The $stdDevPop group accumulator (since MongoDB 3.2)

    Definition Classes
    GroupAggregation
  50. case class StdDevPopField extends GroupFunction with Product with Serializable

    The $stdDevPop for a single field (since MongoDB 3.

    The $stdDevPop for a single field (since MongoDB 3.2)

    Definition Classes
    GroupAggregation
  51. case class StdDevSamp extends GroupFunction with Product with Serializable

    The $stdDevSamp group accumulator (since MongoDB 3.

    The $stdDevSamp group accumulator (since MongoDB 3.2)

    Definition Classes
    GroupAggregation
  52. case class StdDevSampField extends GroupFunction with Product with Serializable

    The $stdDevSamp for a single field (since MongoDB 3.

    The $stdDevSamp for a single field (since MongoDB 3.2)

    Definition Classes
    GroupAggregation
  53. case class Sum extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  54. case class SumField extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
  55. class Unwind extends PipelineOperator with Product with Serializable

  56. case class UnwindField(field: String) extends Unwind with Product with Serializable

    Turns a document with an array into multiple documents, one document for each element in the array.

  57. case class Aggregate(pipeline: Seq[AggregationFramework.PipelineOperator], explain: Boolean = false, allowDiskUse: Boolean, cursor: Option[Cursor], wireVersion: MongoWireVersion, bypassDocumentValidation: Boolean, readConcern: Option[ReadConcern]) extends CollectionCommand with CommandWithPack[pack.type] with CommandWithResult[AggregationResult] with Product with Serializable

  58. case class AggregationResult(firstBatch: List[P.Document], cursor: Option[ResultCursor] = scala.None) extends Product with Serializable

  59. case class Cursor(batchSize: Int) extends Product with Serializable

  60. case class SumValue extends GroupFunction with Product with Serializable

    Definition Classes
    GroupAggregation
    Annotations
    @deprecated
    Deprecated

    (Since version 0.12.0) Use SumAll

Abstract Value Members

  1. abstract val pack: P

    Definition Classes
    AggregationPipeline

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (AggregationFramework[P], B)

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to ArrowAssoc[AggregationFramework[P]] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. object Filter extends Serializable

    Filter companion

  9. object GeoNear extends Serializable

  10. object GroupFunction

    Factory to declare custom call to a group function.

    Factory to declare custom call to a group function.

    Definition Classes
    GroupAggregation
  11. object ImplicitlyDocumentProducer

    Definition Classes
    ImplicitCommandHelpers
  12. object IndexStats extends PipelineOperator with Product with Serializable

    Since MongoDB 3.

  13. object PipelineOperator

    Only for advanced user: Factory for stage not already provided in the API.

    Only for advanced user: Factory for stage not already provided in the API.

    For example for { $sample: { size: 2 } }

    import scala.concurrent.ExecutionContext
    
    import reactivemongo.api.bson.{ BSONDocument, BSONInteger, BSONString }
    import reactivemongo.api.bson.collection.BSONCollection
    
    def foo(coll: BSONCollection)(implicit ec: ExecutionContext) =
      coll.aggregateWith[BSONDocument]() { agg =>
        import agg.PipelineOperator
    
        val stage = PipelineOperator(BSONDocument(
          f"$$sample" -> BSONDocument("size" -> 2)))
    
        stage -> List.empty
      }
    Definition Classes
    AggregationPipeline
  14. object Slice

    import scala.concurrent.ExecutionContext
    
    import reactivemongo.api.bson.{ BSONDocument, BSONInteger, BSONString }
    import reactivemongo.api.bson.collection.BSONCollection
    
    def foo(coll: BSONCollection)(implicit ec: ExecutionContext) = {
      coll.aggregateWith[BSONDocument]() { agg =>
        import agg.{ Project, Slice }
    
        // Define the pipeline stages
        Project(BSONDocument(
          "name" -> 1,
          "favorites" -> Slice(
            array = BSONString(f"$$favorites"),
            n = BSONInteger(3)).makePipe)) -> List.empty
      }
    }
    Definition Classes
    SliceAggregation
  15. object SumAll extends GroupFunction with Product with Serializable

    Sum operation of the form $sum: 1

    Sum operation of the form $sum: 1

    Definition Classes
    GroupAggregation
  16. object TextScore extends MetadataKeyword with Product with Serializable

    References the score associated with the corresponding $text query for each matching document.

  17. object Unwind extends Serializable

  18. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  19. lazy val builder: Builder[pack.type]

    Attributes
    protected
  20. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. def ensuring(cond: (AggregationFramework[P]) ⇒ Boolean, msg: ⇒ Any): AggregationFramework[P]

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to Ensuring[AggregationFramework[P]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  22. def ensuring(cond: (AggregationFramework[P]) ⇒ Boolean): AggregationFramework[P]

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to Ensuring[AggregationFramework[P]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  23. def ensuring(cond: Boolean, msg: ⇒ Any): AggregationFramework[P]

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to Ensuring[AggregationFramework[P]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  24. def ensuring(cond: Boolean): AggregationFramework[P]

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to Ensuring[AggregationFramework[P]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  25. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  26. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  27. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  28. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  29. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  30. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  31. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  32. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  33. final def notify(): Unit

    Definition Classes
    AnyRef
  34. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  36. def toString(): String

    Definition Classes
    AnyRef → Any
  37. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. def [B](y: B): (AggregationFramework[P], B)

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to ArrowAssoc[AggregationFramework[P]] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implicit Value Members

  1. val self: Any

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (aggregationFramework: StringAdd).self
    Definition Classes
    StringAdd
  2. val self: Any

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (aggregationFramework: StringFormat).self
    Definition Classes
    StringFormat

Deprecated Value Members

  1. def x: AggregationFramework[P]

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to ArrowAssoc[AggregationFramework[P]] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (aggregationFramework: ArrowAssoc[AggregationFramework[P]]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  2. def x: AggregationFramework[P]

    Implicit information
    This member is added by an implicit conversion from AggregationFramework[P] to Ensuring[AggregationFramework[P]] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (aggregationFramework: Ensuring[AggregationFramework[P]]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from AggregationPipeline[P]

Inherited from SliceAggregation[P]

Inherited from GroupAggregation[P]

Inherited from ImplicitCommandHelpers[P]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from AggregationFramework[P] to StringAdd

Inherited by implicit conversion any2stringfmt from AggregationFramework[P] to StringFormat

Inherited by implicit conversion any2ArrowAssoc from AggregationFramework[P] to ArrowAssoc[AggregationFramework[P]]

Inherited by implicit conversion any2Ensuring from AggregationFramework[P] to Ensuring[AggregationFramework[P]]

Ungrouped