AggregationPipelineImpl

class AggregationPipelineImpl<T : Any>(mongoTemplate: MongoTemplate, collectionName: String, documentType: KClass<T>, stages: MutableList<AggregationOperation>, originalType: KClass<*>? = null) : AggregationPipeline<T>

Constructors

Link copied to clipboard
constructor(mongoTemplate: MongoTemplate, collectionName: String, documentType: KClass<T>, stages: MutableList<AggregationOperation>, originalType: KClass<*>? = null)

Functions

Link copied to clipboard
open override fun addFields(block: AddFieldsBuilder<T>.() -> Unit): AggregationPipeline<T>

Performs add fields operations

Link copied to clipboard
open override fun count(): Long

Execute pipeline and return count of matching documents.

Link copied to clipboard
open override fun customStage(stageName: String, block: CustomStageBuilder.() -> Unit): AggregationPipeline<T>

For building custom stages

Link copied to clipboard
open override fun <R : Any> facet(resultType: KClass<R>, block: FacetBuilder<T>.() -> Unit): AggregationPipeline<R>
Link copied to clipboard
open override fun firstOrNull(): T?

Execute pipeline and return first result or null.

Link copied to clipboard
open override fun group(block: GroupBuilder<T>.() -> Unit): AggregationPipeline<Document>

open override fun <R : Any> group(resultType: KClass<R>, block: GroupBuilder<T>.() -> Unit): AggregationPipeline<R>

Perform grouping operations in pipeline

Link copied to clipboard
open override fun <R : Any> into(resultType: KClass<R>): AggregationPipeline<R>
Link copied to clipboard
open override fun limit(count: Int): AggregationPipeline<T>

Limit to N documents ($limit stage).

Link copied to clipboard
open override fun match(block: MatchBuilder<T>.() -> Unit): AggregationPipeline<T>

Filter documents ($match stage).

Link copied to clipboard
open override fun paginate(page: Int, pageSize: Int): AggregationPipeline<PagedResult<T>>

Paginate result of previous stages output

Link copied to clipboard
open override fun skip(count: Int): AggregationPipeline<T>

Skip N documents ($skip stage).

Link copied to clipboard
open override fun sort(block: SortBuilder<T>.() -> Unit): AggregationPipeline<T>

Sort documents ($sort stage).

Link copied to clipboard
open override fun toAggregation(): Aggregation

Get raw Spring Data Aggregation for debugging.

Link copied to clipboard
open override fun toJson(): String

Get pipeline as JSON string for debugging.

Link copied to clipboard
open override fun toList(): List<T>

Execute pipeline and return all results.