Class Aggregates

java.lang.Object
com.mongodb.client.model.Aggregates

public final class Aggregates extends Object
Builders for aggregation pipeline stages.
Since:
3.1
MongoDB documentation
Aggregation pipeline
Since server release
2.2
  • Method Summary

    Modifier and Type
    Method
    Description
    static Bson
    addFields(Field<?>... fields)
    Creates an $addFields pipeline stage
    static Bson
    addFields(List<Field<?>> fields)
    Creates an $addFields pipeline stage
    static <TExpression, Boundary>
    Bson
    bucket(TExpression groupBy, List<Boundary> boundaries)
    Creates a $bucket pipeline stage
    static <TExpression, TBoundary>
    Bson
    bucket(TExpression groupBy, List<TBoundary> boundaries, BucketOptions options)
    Creates a $bucket pipeline stage
    static <TExpression>
    Bson
    bucketAuto(TExpression groupBy, int buckets)
    Creates a $bucketAuto pipeline stage
    static <TExpression>
    Bson
    bucketAuto(TExpression groupBy, int buckets, BucketAutoOptions options)
    Creates a $bucketAuto pipeline stage
    static Bson
    Creates a $count pipeline stage using the field name "count" to store the result
    static Bson
    count(String field)
    Creates a $count pipeline stage using the named field to store the result
    static Bson
    densify(String field, DensifyRange range)
    Creates a $densify pipeline stage, which adds documents to a sequence of documents where certain values in the field are missing.
    static Bson
    densify(String field, DensifyRange range, DensifyOptions options)
    Creates a $densify pipeline stage, which adds documents to a sequence of documents where certain values in the field are missing.
    static Bson
    documents(List<? extends Bson> documents)
    Creates a $documents pipeline stage.
    static Bson
    facet(Facet... facets)
    Creates a facet pipeline stage
    static Bson
    facet(List<Facet> facets)
    Creates a facet pipeline stage
    static Bson
    fill(FillOptions options, FillOutputField output, FillOutputField... moreOutput)
    Creates a $fill pipeline stage, which assigns values to fields when they are Null or missing.
    static Bson
    fill(FillOptions options, Iterable<? extends FillOutputField> output)
    Creates a $fill pipeline stage, which assigns values to fields when they are Null or missing.
    static Bson
    geoNear(Point near, String distanceField)
    Creates a $geoNear pipeline stage that outputs documents in order of nearest to farthest from a specified point.
    static Bson
    geoNear(Point near, String distanceField, GeoNearOptions options)
    Creates a $geoNear pipeline stage that outputs documents in order of nearest to farthest from a specified point.
    static <TExpression>
    Bson
    graphLookup(String from, TExpression startWith, String connectFromField, String connectToField, String as)
    Creates a graphLookup pipeline stage for the specified filter
    static <TExpression>
    Bson
    graphLookup(String from, TExpression startWith, String connectFromField, String connectToField, String as, GraphLookupOptions options)
    Creates a graphLookup pipeline stage for the specified filter
    static <TExpression>
    Bson
    group(TExpression id, BsonField... fieldAccumulators)
    Creates a $group pipeline stage for the specified filter
    static <TExpression>
    Bson
    group(TExpression id, List<BsonField> fieldAccumulators)
    Creates a $group pipeline stage for the specified filter
    static Bson
    limit(int limit)
    Creates a $limit pipeline stage for the specified filter
    static Bson
    lookup(String from, String localField, String foreignField, String as)
    Creates a $lookup pipeline stage, joining the current collection with the one specified in from using equality match between the local field and the foreign field
    static Bson
    lookup(String from, List<? extends Bson> pipeline, String as)
    Creates a $lookup pipeline stage, joining the current collection with the one specified in from using the given pipeline.
    static <TExpression>
    Bson
    lookup(String from, List<Variable<TExpression>> let, List<? extends Bson> pipeline, String as)
    Creates a $lookup pipeline stage, joining the current collection with the one specified in from using the given pipeline.
    static Bson
    match(Bson filter)
    Creates a $match pipeline stage for the specified filter
    static Bson
    merge(MongoNamespace namespace)
    Creates a $merge pipeline stage that merges into the specified namespace
    static Bson
    merge(MongoNamespace namespace, MergeOptions options)
    Creates a $merge pipeline stage that merges into the specified namespace using the specified options.
    static Bson
    merge(String collectionName)
    Creates a $merge pipeline stage that merges into the specified collection
    static Bson
    merge(String collectionName, MergeOptions options)
    Creates a $merge pipeline stage that merges into the specified collection using the specified options.
    static Bson
    out(String collectionName)
    Creates a $out pipeline stage that writes into the specified collection
    static Bson
    out(String databaseName, String collectionName)
    Creates a $out pipeline stage that supports outputting to a different database.
    static Bson
    out(Bson destination)
    Creates a $out pipeline stage that writes out to the specified destination
    static Bson
    project(Bson projection)
    Creates a $project pipeline stage for the specified projection
    static <TExpression>
    Bson
    replaceRoot(TExpression value)
    Creates a $replaceRoot pipeline stage
    static <TExpression>
    Bson
    replaceWith(TExpression value)
    Creates a $replaceRoot pipeline stage
    static Bson
    sample(int size)
    Creates a $sample pipeline stage with the specified sample size
    static Bson
    Creates a $search pipeline stage supported by MongoDB Atlas.
    static Bson
    search(SearchCollector collector, SearchOptions options)
    Creates a $search pipeline stage supported by MongoDB Atlas.
    static Bson
    Creates a $search pipeline stage supported by MongoDB Atlas.
    static Bson
    search(SearchOperator operator, SearchOptions options)
    Creates a $search pipeline stage supported by MongoDB Atlas.
    static Bson
    Creates a $searchMeta pipeline stage supported by MongoDB Atlas.
    static Bson
    Creates a $searchMeta pipeline stage supported by MongoDB Atlas.
    static Bson
    Creates a $searchMeta pipeline stage supported by MongoDB Atlas.
    static Bson
    Creates a $searchMeta pipeline stage supported by MongoDB Atlas.
    static Bson
    set(Field<?>... fields)
    Creates a $set pipeline stage for the specified projection
    static Bson
    set(List<Field<?>> fields)
    Creates a $set pipeline stage for the specified projection
    static <TExpression>
    Bson
    setWindowFields(TExpression partitionBy, Bson sortBy, WindowOutputField output, WindowOutputField... moreOutput)
    Creates a $setWindowFields pipeline stage, which allows using window operators.
    static <TExpression>
    Bson
    setWindowFields(TExpression partitionBy, Bson sortBy, Iterable<? extends WindowOutputField> output)
    Creates a $setWindowFields pipeline stage, which allows using window operators.
    static Bson
    skip(int skip)
    Creates a $skip pipeline stage
    static Bson
    sort(Bson sort)
    Creates a $sort pipeline stage for the specified sort specification
    static <TExpression>
    Bson
    sortByCount(TExpression filter)
    Creates a $sortByCount pipeline stage for the specified filter
    static Bson
    unionWith(String collection, List<? extends Bson> pipeline)
    Creates a $unionWith pipeline stage.
    static Bson
    unset(String... fields)
    Creates an $unset pipeline stage that removes/excludes fields from documents
    static Bson
    unset(List<String> fields)
    Creates an $unset pipeline stage that removes/excludes fields from documents
    static Bson
    unwind(String fieldName)
    Creates a $unwind pipeline stage for the specified field name, which must be prefixed by a '$' sign.
    static Bson
    unwind(String fieldName, UnwindOptions unwindOptions)
    Creates a $unwind pipeline stage for the specified field name, which must be prefixed by a '$' sign.
    static Bson
    vectorSearch(FieldSearchPath path, Iterable<Double> queryVector, String index, long numCandidates, long limit)
    Creates a $vectorSearch pipeline stage supported by MongoDB Atlas.
    static Bson
    vectorSearch(FieldSearchPath path, Iterable<Double> queryVector, String index, long numCandidates, long limit, VectorSearchOptions options)
    Creates a $vectorSearch pipeline stage supported by MongoDB Atlas.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • addFields

      public static Bson addFields(Field<?>... fields)
      Creates an $addFields pipeline stage
      Parameters:
      fields - the fields to add
      Returns:
      the $addFields pipeline stage
      Since:
      3.4
      MongoDB documentation
      $addFields
      Since server release
      3.4
    • addFields

      public static Bson addFields(List<Field<?>> fields)
      Creates an $addFields pipeline stage
      Parameters:
      fields - the fields to add
      Returns:
      the $addFields pipeline stage
      Since:
      3.4
      MongoDB documentation
      $addFields
      Since server release
      3.4
    • set

      public static Bson set(Field<?>... fields)
      Creates a $set pipeline stage for the specified projection
      Parameters:
      fields - the fields to add
      Returns:
      the $set pipeline stage
      Since:
      4.3
      See Also:
      MongoDB documentation
      $set
      Since server release
      4.2
    • set

      public static Bson set(List<Field<?>> fields)
      Creates a $set pipeline stage for the specified projection
      Parameters:
      fields - the fields to add
      Returns:
      the $set pipeline stage
      Since:
      4.3
      See Also:
      MongoDB documentation
      $set
      Since server release
      4.2
    • bucket

      public static <TExpression, Boundary> Bson bucket(TExpression groupBy, List<Boundary> boundaries)
      Creates a $bucket pipeline stage
      Type Parameters:
      TExpression - the groupBy expression type
      Boundary - the boundary type
      Parameters:
      groupBy - the criteria to group By
      boundaries - the boundaries of the buckets
      Returns:
      the $bucket pipeline stage
      Since:
      3.4
      MongoDB documentation
      $bucket
      Since server release
      3.4
    • bucket

      public static <TExpression, TBoundary> Bson bucket(TExpression groupBy, List<TBoundary> boundaries, BucketOptions options)
      Creates a $bucket pipeline stage
      Type Parameters:
      TExpression - the groupBy expression type
      TBoundary - the boundary type
      Parameters:
      groupBy - the criteria to group By
      boundaries - the boundaries of the buckets
      options - the optional values for the $bucket stage
      Returns:
      the $bucket pipeline stage
      Since:
      3.4
      MongoDB documentation
      $bucket
      Since server release
      3.4
    • bucketAuto

      public static <TExpression> Bson bucketAuto(TExpression groupBy, int buckets)
      Creates a $bucketAuto pipeline stage
      Type Parameters:
      TExpression - the groupBy expression type
      Parameters:
      groupBy - the criteria to group By
      buckets - the number of the buckets
      Returns:
      the $bucketAuto pipeline stage
      Since:
      3.4
      MongoDB documentation
      $bucketAuto
      Since server release
      3.4
    • bucketAuto

      public static <TExpression> Bson bucketAuto(TExpression groupBy, int buckets, BucketAutoOptions options)
      Creates a $bucketAuto pipeline stage
      Type Parameters:
      TExpression - the groupBy expression type
      Parameters:
      groupBy - the criteria to group By
      buckets - the number of the buckets
      options - the optional values for the $bucketAuto stage
      Returns:
      the $bucketAuto pipeline stage
      Since:
      3.4
      MongoDB documentation
      $bucketAuto
      Since server release
      3.4
    • count

      public static Bson count()
      Creates a $count pipeline stage using the field name "count" to store the result
      Returns:
      the $count pipeline stage
      Since:
      3.4
      MongoDB documentation
      $count
      Since server release
      3.4
    • count

      public static Bson count(String field)
      Creates a $count pipeline stage using the named field to store the result
      Parameters:
      field - the field in which to store the count
      Returns:
      the $count pipeline stage
      Since:
      3.4
      MongoDB documentation
      $count
      Since server release
      3.4
    • match

      public static Bson match(Bson filter)
      Creates a $match pipeline stage for the specified filter
      Parameters:
      filter - the filter to match
      Returns:
      the $match pipeline stage
      See Also:
      MongoDB documentation
      $match
    • project

      public static Bson project(Bson projection)
      Creates a $project pipeline stage for the specified projection
      Parameters:
      projection - the projection
      Returns:
      the $project pipeline stage
      See Also:
      MongoDB documentation
      $project
    • sort

      public static Bson sort(Bson sort)
      Creates a $sort pipeline stage for the specified sort specification
      Parameters:
      sort - the sort specification
      Returns:
      the $sort pipeline stage
      See Also:
      MongoDB documentation
      $sort
    • sortByCount

      public static <TExpression> Bson sortByCount(TExpression filter)
      Creates a $sortByCount pipeline stage for the specified filter
      Type Parameters:
      TExpression - the expression type
      Parameters:
      filter - the filter specification
      Returns:
      the $sortByCount pipeline stage
      Since:
      3.4
      MongoDB documentation
      $sortByCount
      Since server release
      3.4
    • skip

      public static Bson skip(int skip)
      Creates a $skip pipeline stage
      Parameters:
      skip - the number of documents to skip
      Returns:
      the $skip pipeline stage
      MongoDB documentation
      $skip
    • limit

      public static Bson limit(int limit)
      Creates a $limit pipeline stage for the specified filter
      Parameters:
      limit - the limit
      Returns:
      the $limit pipeline stage
      MongoDB documentation
      $limit
    • lookup

      public static Bson lookup(String from, String localField, String foreignField, String as)
      Creates a $lookup pipeline stage, joining the current collection with the one specified in from using equality match between the local field and the foreign field
      Parameters:
      from - the name of the collection in the same database to perform the join with.
      localField - the field from the local collection to match values against.
      foreignField - the field in the from collection to match values against.
      as - the name of the new array field to add to the input documents.
      Returns:
      the $lookup pipeline stage
      Since:
      3.2
      MongoDB documentation
      $lookup
      Since server release
      3.2
    • lookup

      public static Bson lookup(@Nullable String from, List<? extends Bson> pipeline, String as)
      Creates a $lookup pipeline stage, joining the current collection with the one specified in from using the given pipeline. If the first stage in the pipeline is a $documents stage, then the from collection is ignored.
      Parameters:
      from - the name of the collection in the same database to perform the join with. Must be {$code null} if the first pipeline stage is $documents.
      pipeline - the pipeline to run on the joined collection.
      as - the name of the new array field to add to the input documents.
      Returns:
      the $lookup pipeline stage
      Since:
      3.7
      MongoDB documentation
      $lookup
      Since server release
      3.6
    • lookup

      public static <TExpression> Bson lookup(@Nullable String from, @Nullable List<Variable<TExpression>> let, List<? extends Bson> pipeline, String as)
      Creates a $lookup pipeline stage, joining the current collection with the one specified in from using the given pipeline. If the first stage in the pipeline is a $documents stage, then the from collection is ignored.
      Type Parameters:
      TExpression - the Variable value expression type
      Parameters:
      from - the name of the collection in the same database to perform the join with. Must be {$code null} if the first pipeline stage is $documents.
      let - the variables to use in the pipeline field stages.
      pipeline - the pipeline to run on the joined collection.
      as - the name of the new array field to add to the input documents.
      Returns:
      the $lookup pipeline stage
      Since:
      3.7
      MongoDB documentation
      $lookup
      Since server release
      3.6
    • facet

      public static Bson facet(List<Facet> facets)
      Creates a facet pipeline stage
      Parameters:
      facets - the facets to use
      Returns:
      the new pipeline stage
      Since:
      3.4
      MongoDB documentation
      $facet
      Since server release
      3.4
    • facet

      public static Bson facet(Facet... facets)
      Creates a facet pipeline stage
      Parameters:
      facets - the facets to use
      Returns:
      the new pipeline stage
      Since:
      3.4
      MongoDB documentation
      $facet
      Since server release
      3.4
    • graphLookup

      public static <TExpression> Bson graphLookup(String from, TExpression startWith, String connectFromField, String connectToField, String as)
      Creates a graphLookup pipeline stage for the specified filter
      Type Parameters:
      TExpression - the expression type
      Parameters:
      from - the collection to query
      startWith - the expression to start the graph lookup with
      connectFromField - the from field
      connectToField - the to field
      as - name of field in output document
      Returns:
      the $graphLookup pipeline stage
      Since:
      3.4
      MongoDB documentation
      $graphLookup
      Since server release
      3.4
    • graphLookup

      public static <TExpression> Bson graphLookup(String from, TExpression startWith, String connectFromField, String connectToField, String as, GraphLookupOptions options)
      Creates a graphLookup pipeline stage for the specified filter
      Type Parameters:
      TExpression - the expression type
      Parameters:
      from - the collection to query
      startWith - the expression to start the graph lookup with
      connectFromField - the from field
      connectToField - the to field
      as - name of field in output document
      options - optional values for the graphLookup
      Returns:
      the $graphLookup pipeline stage
      Since:
      3.4
      MongoDB documentation
      $graphLookup
      Since server release
      3.4
    • group

      public static <TExpression> Bson group(@Nullable TExpression id, BsonField... fieldAccumulators)
      Creates a $group pipeline stage for the specified filter
      Type Parameters:
      TExpression - the expression type
      Parameters:
      id - the id expression for the group, which may be null
      fieldAccumulators - zero or more field accumulator pairs
      Returns:
      the $group pipeline stage
      MongoDB documentation
      $group
      Expressions
    • group

      public static <TExpression> Bson group(@Nullable TExpression id, List<BsonField> fieldAccumulators)
      Creates a $group pipeline stage for the specified filter
      Type Parameters:
      TExpression - the expression type
      Parameters:
      id - the id expression for the group, which may be null
      fieldAccumulators - zero or more field accumulator pairs
      Returns:
      the $group pipeline stage
      MongoDB documentation
      $group
      Expressions
    • unionWith

      public static Bson unionWith(String collection, List<? extends Bson> pipeline)
      Creates a $unionWith pipeline stage.
      Parameters:
      collection - the name of the collection in the same database to perform the union with.
      pipeline - the pipeline to run on the union.
      Returns:
      the $unionWith pipeline stage
      Since:
      4.1
      MongoDB documentation
      $unionWith
      Since server release
      4.4
    • unwind

      public static Bson unwind(String fieldName)
      Creates a $unwind pipeline stage for the specified field name, which must be prefixed by a '$' sign.
      Parameters:
      fieldName - the field name, prefixed by a '$' sign
      Returns:
      the $unwind pipeline stage
      MongoDB documentation
      $unwind
    • unwind

      public static Bson unwind(String fieldName, UnwindOptions unwindOptions)
      Creates a $unwind pipeline stage for the specified field name, which must be prefixed by a '$' sign.
      Parameters:
      fieldName - the field name, prefixed by a '$' sign
      unwindOptions - options for the unwind pipeline stage
      Returns:
      the $unwind pipeline stage
      Since:
      3.2
      MongoDB documentation
      $unwind
      Since server release
      3.2
    • out

      public static Bson out(String collectionName)
      Creates a $out pipeline stage that writes into the specified collection
      Parameters:
      collectionName - the collection name
      Returns:
      the $out pipeline stage
      MongoDB documentation
      $out
    • out

      public static Bson out(String databaseName, String collectionName)
      Creates a $out pipeline stage that supports outputting to a different database.
      Parameters:
      databaseName - the database name
      collectionName - the collection name
      Returns:
      the $out pipeline stage
      Since:
      4.1
      MongoDB documentation
      $out
      Since server release
      4.4
    • out

      public static Bson out(Bson destination)
      Creates a $out pipeline stage that writes out to the specified destination
      Parameters:
      destination - the destination details
      Returns:
      the $out pipeline stage
      Since:
      4.1
      MongoDB documentation
      $out
    • merge

      public static Bson merge(String collectionName)
      Creates a $merge pipeline stage that merges into the specified collection
      Parameters:
      collectionName - the name of the collection to merge into
      Returns:
      the $merge pipeline stage
      Since:
      3.11
      MongoDB documentation
      $merge
      Since server release
      4.2
    • merge

      public static Bson merge(MongoNamespace namespace)
      Creates a $merge pipeline stage that merges into the specified namespace
      Parameters:
      namespace - the namespace to merge into
      Returns:
      the $merge pipeline stage
      Since:
      3.11
      MongoDB documentation
      $merge
      Since server release
      4.2
    • merge

      public static Bson merge(String collectionName, MergeOptions options)
      Creates a $merge pipeline stage that merges into the specified collection using the specified options.
      Parameters:
      collectionName - the name of the collection to merge into
      options - the merge options
      Returns:
      the $merge pipeline stage
      Since:
      3.11
      MongoDB documentation
      $merge
      Since server release
      4.2
    • merge

      public static Bson merge(MongoNamespace namespace, MergeOptions options)
      Creates a $merge pipeline stage that merges into the specified namespace using the specified options.
      Parameters:
      namespace - the namespace to merge into
      options - the merge options
      Returns:
      the $merge pipeline stage
      Since:
      3.11
      MongoDB documentation
      $merge
      Since server release
      4.2
    • replaceRoot

      public static <TExpression> Bson replaceRoot(TExpression value)
      Creates a $replaceRoot pipeline stage
      Type Parameters:
      TExpression - the new root type
      Parameters:
      value - the new root value
      Returns:
      the $replaceRoot pipeline stage
      Since:
      3.4
      MongoDB documentation
      $replaceRoot
      Since server release
      3.4
    • replaceWith

      public static <TExpression> Bson replaceWith(TExpression value)
      Creates a $replaceRoot pipeline stage

      With $replaceWith, you can promote an embedded document to the top-level. You can also specify a new document as the replacement.

      The $replaceWith is an alias for replaceRoot(Object).

      Type Parameters:
      TExpression - the new root type
      Parameters:
      value - the new root value
      Returns:
      the $replaceRoot pipeline stage
      Since:
      3.11
      MongoDB documentation
      $replaceWith
      Since server release
      4.2
    • sample

      public static Bson sample(int size)
      Creates a $sample pipeline stage with the specified sample size
      Parameters:
      size - the sample size
      Returns:
      the $sample pipeline stage
      Since:
      3.2
      MongoDB documentation
      $sample
      Since server release
      3.2
    • setWindowFields

      public static <TExpression> Bson setWindowFields(@Nullable TExpression partitionBy, @Nullable Bson sortBy, WindowOutputField output, WindowOutputField... moreOutput)
      Creates a $setWindowFields pipeline stage, which allows using window operators. This stage partitions the input documents similarly to the $group pipeline stage, optionally sorts them, computes fields in the documents by computing window functions over windows specified per function, and outputs the documents. The important difference from the $group pipeline stage is that documents belonging to the same partition or window are not folded into a single document.
      Type Parameters:
      TExpression - The partitionBy expression type.
      Parameters:
      partitionBy - Optional partitioning of data specified like id in group(Object, List). If null, then all documents belong to the same partition.
      sortBy - Fields to sort by. The syntax is identical to sort in sort(Bson) (see Sorts). Sorting is required by certain functions and may be required by some windows (see Windows for more details). Sorting is used only for the purpose of computing window functions and does not guarantee ordering of the output documents.
      output - A windowed computation.
      moreOutput - More windowed computations.
      Returns:
      The $setWindowFields pipeline stage.
      Since:
      4.3
      MongoDB documentation
      $setWindowFields
      Since server release
      5.0
    • setWindowFields

      public static <TExpression> Bson setWindowFields(@Nullable TExpression partitionBy, @Nullable Bson sortBy, Iterable<? extends WindowOutputField> output)
      Creates a $setWindowFields pipeline stage, which allows using window operators. This stage partitions the input documents similarly to the $group pipeline stage, optionally sorts them, computes fields in the documents by computing window functions over windows specified per function, and outputs the documents. The important difference from the $group pipeline stage is that documents belonging to the same partition or window are not folded into a single document.
      Type Parameters:
      TExpression - The partitionBy expression type.
      Parameters:
      partitionBy - Optional partitioning of data specified like id in group(Object, List). If null, then all documents belong to the same partition.
      sortBy - Fields to sort by. The syntax is identical to sort in sort(Bson) (see Sorts). Sorting is required by certain functions and may be required by some windows (see Windows for more details). Sorting is used only for the purpose of computing window functions and does not guarantee ordering of the output documents.
      output - A list of windowed computations. Specifying an empty list is not an error, but the resulting stage does not do anything useful.
      Returns:
      The $setWindowFields pipeline stage.
      Since:
      4.3
      MongoDB documentation
      $setWindowFields
      Since server release
      5.0
    • densify

      public static Bson densify(String field, DensifyRange range)
      Creates a $densify pipeline stage, which adds documents to a sequence of documents where certain values in the field are missing.
      Parameters:
      field - The field to densify.
      range - The range.
      Returns:
      The requested pipeline stage.
      Since:
      4.7
      MongoDB documentation
      $densify
      Dot notation
      Since server release
      5.1
    • densify

      public static Bson densify(String field, DensifyRange range, DensifyOptions options)
      Creates a $densify pipeline stage, which adds documents to a sequence of documents where certain values in the field are missing.
      Parameters:
      field - The field to densify.
      range - The range.
      options - The densify options. Specifying DensifyOptions.densifyOptions() is equivalent to calling densify(String, DensifyRange).
      Returns:
      The requested pipeline stage.
      Since:
      4.7
      MongoDB documentation
      $densify
      Dot notation
      Since server release
      5.1
    • fill

      public static Bson fill(FillOptions options, FillOutputField output, FillOutputField... moreOutput)
      Creates a $fill pipeline stage, which assigns values to fields when they are Null or missing.
      Parameters:
      options - The fill options.
      output - The FillOutputField.
      moreOutput - More FillOutputFields.
      Returns:
      The requested pipeline stage.
      Since:
      4.7
      MongoDB documentation
      $fill
      Since server release
      5.3
    • fill

      public static Bson fill(FillOptions options, Iterable<? extends FillOutputField> output)
      Creates a $fill pipeline stage, which assigns values to fields when they are Null or missing.
      Parameters:
      options - The fill options.
      output - The non-empty FillOutputFields.
      Returns:
      The requested pipeline stage.
      Since:
      4.7
      MongoDB documentation
      $fill
      Since server release
      5.3
    • search

      public static Bson search(SearchOperator operator)
      Creates a $search pipeline stage supported by MongoDB Atlas. You may use the $meta: "searchScore" expression, e.g., via Projections.metaSearchScore(String), to extract the relevance score assigned to each found document.

      Filters.text(String, TextSearchOptions) is a legacy text search alternative.

      Parameters:
      operator - A search operator.
      Returns:
      The $search pipeline stage.
      Since:
      4.7
      MongoDB Atlas documentation
      $search
      Search operators
      Scoring
    • search

      public static Bson search(SearchOperator operator, SearchOptions options)
      Creates a $search pipeline stage supported by MongoDB Atlas. You may use the $meta: "searchScore" expression, e.g., via Projections.metaSearchScore(String), to extract the relevance score assigned to each found document.

      Filters.text(String, TextSearchOptions) is a legacy text search alternative.

      Parameters:
      operator - A search operator.
      options - Optional $search pipeline stage fields. Specifying SearchOptions.searchOptions() is equivalent to calling search(SearchOperator).
      Returns:
      The $search pipeline stage.
      Since:
      4.7
      MongoDB Atlas documentation
      $search
      Search operators
      Scoring
    • search

      public static Bson search(SearchCollector collector)
      Creates a $search pipeline stage supported by MongoDB Atlas. You may use $meta: "searchScore", e.g., via Projections.metaSearchScore(String), to extract the relevance score assigned to each found document.
      Parameters:
      collector - A search collector.
      Returns:
      The $search pipeline stage.
      Since:
      4.7
      MongoDB Atlas documentation
      $search
      Search collectors
      Scoring
    • search

      public static Bson search(SearchCollector collector, SearchOptions options)
      Creates a $search pipeline stage supported by MongoDB Atlas. You may use $meta: "searchScore", e.g., via Projections.metaSearchScore(String), to extract the relevance score assigned to each found document.
      Parameters:
      collector - A search collector.
      options - Optional $search pipeline stage fields. Specifying SearchOptions.searchOptions() is equivalent to calling search(SearchCollector).
      Returns:
      The $search pipeline stage.
      Since:
      4.7
      MongoDB Atlas documentation
      $search
      Search collectors
      Scoring
    • searchMeta

      public static Bson searchMeta(SearchOperator operator)
      Creates a $searchMeta pipeline stage supported by MongoDB Atlas. Unlike $search, it does not return found documents, instead it returns metadata, which in case of using the $search stage may be extracted by using $$SEARCH_META variable, e.g., via Projections.computedSearchMeta(String).
      Parameters:
      operator - A search operator.
      Returns:
      The $searchMeta pipeline stage.
      Since:
      4.7
      MongoDB Atlas documentation
      $searchMeta
      Search operators
    • searchMeta

      public static Bson searchMeta(SearchOperator operator, SearchOptions options)
      Creates a $searchMeta pipeline stage supported by MongoDB Atlas. Unlike $search, it does not return found documents, instead it returns metadata, which in case of using the $search stage may be extracted by using $$SEARCH_META variable, e.g., via Projections.computedSearchMeta(String).
      Parameters:
      operator - A search operator.
      options - Optional $search pipeline stage fields. Specifying SearchOptions.searchOptions() is equivalent to calling searchMeta(SearchOperator).
      Returns:
      The $searchMeta pipeline stage.
      Since:
      4.7
      MongoDB Atlas documentation
      $searchMeta
      Search operators
    • searchMeta

      public static Bson searchMeta(SearchCollector collector)
      Creates a $searchMeta pipeline stage supported by MongoDB Atlas. Unlike $search, it does not return found documents, instead it returns metadata, which in case of using the $search stage may be extracted by using $$SEARCH_META variable, e.g., via Projections.computedSearchMeta(String).
      Parameters:
      collector - A search collector.
      Returns:
      The $searchMeta pipeline stage.
      Since:
      4.7
      MongoDB Atlas documentation
      $searchMeta
      Search collectors
    • searchMeta

      public static Bson searchMeta(SearchCollector collector, SearchOptions options)
      Creates a $searchMeta pipeline stage supported by MongoDB Atlas. Unlike $search, it does not return found documents, instead it returns metadata, which in case of using the $search stage may be extracted by using $$SEARCH_META variable, e.g., via Projections.computedSearchMeta(String).
      Parameters:
      collector - A search collector.
      options - Optional $search pipeline stage fields. Specifying SearchOptions.searchOptions() is equivalent to calling searchMeta(SearchCollector).
      Returns:
      The $searchMeta pipeline stage.
      Since:
      4.7
      MongoDB Atlas documentation
      $searchMeta
      Search collectors
    • vectorSearch

      @Beta(SERVER) public static Bson vectorSearch(FieldSearchPath path, Iterable<Double> queryVector, String index, long numCandidates, long limit)
      Creates a $vectorSearch pipeline stage supported by MongoDB Atlas. You may use the $meta: "vectorSearchScore" expression, e.g., via Projections.metaVectorSearchScore(String), to extract the relevance score assigned to each found document.
      Parameters:
      queryVector - The query vector. The number of dimensions must match that of the index.
      path - The field to be searched.
      index - The name of the index to use.
      numCandidates - The number of candidates.
      limit - The limit on the number of documents produced by the pipeline stage.
      Returns:
      The $vectorSearch pipeline stage.
      Since:
      4.11
      MongoDB Atlas documentation
      $vectorSearch
      Scoring
      Since server release
      6.0.10
    • vectorSearch

      @Beta(SERVER) public static Bson vectorSearch(FieldSearchPath path, Iterable<Double> queryVector, String index, long numCandidates, long limit, VectorSearchOptions options)
      Creates a $vectorSearch pipeline stage supported by MongoDB Atlas. You may use the $meta: "vectorSearchScore" expression, e.g., via Projections.metaVectorSearchScore(String), to extract the relevance score assigned to each found document.
      Parameters:
      queryVector - The query vector. The number of dimensions must match that of the index.
      path - The field to be searched.
      index - The name of the index to use.
      numCandidates - The number of candidates.
      limit - The limit on the number of documents produced by the pipeline stage.
      options - Optional $vectorSearch pipeline stage fields.
      Returns:
      The $vectorSearch pipeline stage.
      Since:
      4.11
      MongoDB Atlas documentation
      $vectorSearch
      Scoring
      Since server release
      6.0.10
    • unset

      public static Bson unset(String... fields)
      Creates an $unset pipeline stage that removes/excludes fields from documents
      Parameters:
      fields - the fields to exclude. May use dot notation.
      Returns:
      the $unset pipeline stage
      Since:
      4.8
      MongoDB documentation
      $unset
      Since server release
      4.2
    • unset

      public static Bson unset(List<String> fields)
      Creates an $unset pipeline stage that removes/excludes fields from documents
      Parameters:
      fields - the fields to exclude. May use dot notation.
      Returns:
      the $unset pipeline stage
      Since:
      4.8
      MongoDB documentation
      $unset
      Since server release
      4.2
    • geoNear

      public static Bson geoNear(Point near, String distanceField, GeoNearOptions options)
      Creates a $geoNear pipeline stage that outputs documents in order of nearest to farthest from a specified point.
      Parameters:
      near - The point for which to find the closest documents.
      distanceField - The output field that contains the calculated distance. To specify a field within an embedded document, use dot notation.
      options - GeoNearOptions
      Returns:
      the $geoNear pipeline stage
      Since:
      4.8
      MongoDB documentation
      $geoNear
    • geoNear

      public static Bson geoNear(Point near, String distanceField)
      Creates a $geoNear pipeline stage that outputs documents in order of nearest to farthest from a specified point.
      Parameters:
      near - The point for which to find the closest documents.
      distanceField - The output field that contains the calculated distance. To specify a field within an embedded document, use dot notation.
      Returns:
      the $geoNear pipeline stage
      Since:
      4.8
      MongoDB documentation
      $geoNear
    • documents

      public static Bson documents(List<? extends Bson> documents)
      Creates a $documents pipeline stage.
      Parameters:
      documents - the documents.
      Returns:
      the $documents pipeline stage.
      Since:
      4.9
      MongoDB documentation
      $documents
      Since server release
      5.1