object SearchCollector
The core part of the $search
pipeline stage of an aggregation pipeline.
SearchCollector
s 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
- Alphabetic
- By Inheritance
- SearchCollector
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- 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
- def of(collector: Bson): SearchCollector
Creates a
SearchCollector
from aBson
in situations when there is no builder method that better satisfies your needs.Creates a
SearchCollector
from aBson
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 equivalentSearchCollector
s, 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 requiredSearchCollector
.- returns
The requested
SearchCollector
.
This is the documentation for the MongoDB Scala driver.
Driver structure
The mongodb scala driver.
To get started you need a MongoClient instance, either from a connection string or via a org.mongodb.scala.MongoClientSettings.
Notable packages include: