Packages

o

org.mongodb.scala.model.search

SearchCollector

object SearchCollector

The core part of the $search pipeline stage of an aggregation pipeline. SearchCollectors allow returning metadata together with the matching search results. You may use the $$SEARCH_META variable, e.g., via Projections.computedSearchMeta, to extract this metadata.

Annotations
@Beta()
Since

4.7

See also

Search collectors

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SearchCollector
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. def facet(operator: SearchOperator, facets: Iterable[_ <: SearchFacet]): FacetSearchCollector

    Returns a SearchCollector that groups results by values or ranges in the specified faceted fields and returns the count for each of those groups.

    Returns a SearchCollector that groups results by values or ranges in the specified faceted fields and returns the count for each of those groups.

    operator

    The search operator to use.

    facets

    The non-empty facet definitions.

    returns

    The requested SearchCollector.

    Annotations
    @Beta()
    See also

    facet collector

  2. def of(collector: Bson): SearchCollector

    Creates a SearchCollector from a Bson in situations when there is no builder method that better satisfies your needs.

    Creates a SearchCollector from a Bson in situations when there is no builder method that better satisfies your needs. This method cannot be used to validate the syntax.

    Example
    The following code creates two functionally equivalent SearchCollectors, though they may not be equal.

    val collector1: SearchCollector = SearchCollector.facet(
      SearchOperator.exists(
        SearchPath.fieldPath("fieldName")),
      Seq(
        SearchFacet.stringFacet(
          "stringFacetName",
          SearchPath.fieldPath("stringFieldName")),
        SearchFacet.numberFacet(
          "numberFacetName",
          SearchPath.fieldPath("numberFieldName"),
          Seq(10, 20, 30))))
    val collector2: SearchCollector = SearchCollector.of(Document("facet" ->
      Document("operator" -> SearchOperator.exists(
        SearchPath.fieldPath("fieldName")).toBsonDocument,
        "facets" -> SearchFacet.combineToBson(Seq(
          SearchFacet.stringFacet(
            "stringFacetName",
            SearchPath.fieldPath("stringFieldName")),
          SearchFacet.numberFacet(
            "numberFacetName",
            SearchPath.fieldPath("numberFieldName"),
            Seq(10, 20, 30)))).toBsonDocument)))
    collector

    A Bson representing the required SearchCollector.

    returns

    The requested SearchCollector.