Class Filters

java.lang.Object
dev.morphia.query.filters.Filters

public final class Filters extends Object
Defines helper methods to generate filter operations for queries.
Since:
2.0
  • Method Summary

    Modifier and Type
    Method
    Description
    static Filter
    all(String field, Object val)
    Matches arrays that contain all elements specified in the query.
    static Filter
    and(Filter... filters)
    Applies $and to a set of filters
    static Filter
    bitsAllClear(String field, int bitMask)
    Matches numeric or binary values in which a set of bit positions all have a value of 0.
    static Filter
    bitsAllClear(String field, int[] positions)
    Matches numeric or binary values in which a set of bit positions all have a value of 0.
    static Filter
    bitsAllSet(String field, int bitMask)
    Matches numeric or binary values in which a set of bit positions all have a value of 1.
    static Filter
    bitsAllSet(String field, int[] positions)
    Matches numeric or binary values in which a set of bit positions all have a value of 1.
    static Filter
    bitsAnyClear(String field, Object val)
    Matches numeric or binary values in which any bit from a set of bit positions has a value of 0.
    static Filter
    bitsAnySet(String field, Object val)
    Matches numeric or binary values in which any bit from a set of bit positions has a value of 1.
    static Filter
    box(String field, Point bottomLeft, Point upperRight)
    Specifies a rectangular box using legacy coordinate pairs for $geoWithin queries.
    static Filter
    center(String field, Point center, double radius)
    Specifies a circle using legacy coordinate pairs to $geoWithin queries when using planar geometry.
    static Filter
    centerSphere(String field, Point center, double radius)
    Defines a circle for a geospatial query that uses spherical geometry.
    static Filter
    comment(String field, Object val)
    Adds a comment to a query predicate.
    static Filter
    elemMatch(String field, Filter... filters)
    Selects documents if element in the array field matches all the specified $elemMatch conditions.
    static Filter
    eq(String field, Object val)
    Specifies equality condition.
    static Filter
    exists(String field)
    Matches documents that have the specified field.
    static Filter
    expr(Expression expression)
    Allows use of aggregation expressions within the query language.
    static Filter
    Selects geometries that intersect with a GeoJSON geometry.
    static Filter
    geometry(String field, Object val)
    Specifies a geometry in GeoJSON format to geospatial query operators.
    geoWithin(String field, MultiPolygon polygon)
    Selects geometries within a bounding GeoJSON geometry.
    geoWithin(String field, Polygon polygon)
    Selects geometries within a bounding GeoJSON geometry.
    static Filter
    gt(String field, Object val)
    $gt selects those documents where the value of the field is greater than the specified value.
    static Filter
    gte(String field, Object val)
    $gte selects the documents where the value of the field is greater than or equal to a specified value (e.g.
    static Filter
    in(String field, Iterable<?> val)
    The $in operator selects the documents where the value of a field equals any value in the specified array.
    static Filter
    Filters documents against the given JSON Schema.
    static Filter
    lt(String field, Object val)
    $lt selects the documents where the value of the field is less than the specified value.
    static Filter
    lte(String field, Object val)
    $lte selects the documents where the value of the field is less than or equal to the specified value.
    static Filter
    maxDistance(String field, Object val)
    Specifies a maximum distance to limit the results of $near and $nearSphere queries.
    static Filter
    minDistance(String field, Object val)
    Specifies a minimum distance to limit the results of $near and $nearSphere queries.
    static Filter
    mod(String field, long divisor, long remainder)
    Performs a modulo operation on the value of a field and selects documents with a specified result.
    static Filter
    ne(String field, Object val)
    $ne selects the documents where the value of the field is not equal to the specified value.
    static NearFilter
    near(String field, Point point)
    Specifies a point for which a geospatial query returns the documents from nearest to farthest.
    static NearFilter
    nearSphere(String field, Point point)
    Returns geospatial objects in proximity to a point on a sphere.
    static Filter
    nin(String field, Object val)
    $nin selects the documents where: the field value is not in the specified array or the field does not exist.
    static Filter
    nor(Filter... filters)
    Applies $nor to a set of filters
    static Filter
    or(Filter... filters)
    Applies $or to a set of filters
    static Filter
    polygon(String field, Point... points)
    Specifies a polygon to using legacy coordinate pairs for $geoWithin queries.
    regex(String field, String pattern)
    Selects documents where values match a specified regular expression.
    regex(String field, Pattern pattern)
    Selects documents where values match a specified regular expression.
    static Filter
    size(String field, int size)
    Selects documents if the array field is a specified size.
    text(String textSearch)
    Performs text search.
    static Filter
    type(String field, Type val)
    Selects documents if a field is of the specified type.
    static Filter
    uniqueDocs(String field, Object val)
    Deprecated.
    static Filter
    Matches documents that satisfy a JavaScript expression.

    Methods inherited from class java.lang.Object

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

    • all

      public static Filter all(String field, @Nullable Object val)
      Matches arrays that contain all elements specified in the query.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $all
    • and

      public static Filter and(Filter... filters)
      Applies $and to a set of filters
      Parameters:
      filters - the filters
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $and
    • bitsAllClear

      public static Filter bitsAllClear(String field, int[] positions)
      Matches numeric or binary values in which a set of bit positions all have a value of 0.
      Parameters:
      field - the field to check
      positions - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $bitsAllClear
    • bitsAllClear

      public static Filter bitsAllClear(String field, int bitMask)
      Matches numeric or binary values in which a set of bit positions all have a value of 0.
      Parameters:
      field - the field to check
      bitMask - the numeric bitmask to use
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $bitsAllClear
    • bitsAllSet

      public static Filter bitsAllSet(String field, int bitMask)
      Matches numeric or binary values in which a set of bit positions all have a value of 1.
      Parameters:
      field - the field to check
      bitMask - the numeric bitmask to use
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $bitsAllSet
    • bitsAllSet

      public static Filter bitsAllSet(String field, int[] positions)
      Matches numeric or binary values in which a set of bit positions all have a value of 1.
      Parameters:
      field - the field to check
      positions - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $bitsAllSet
    • bitsAnyClear

      public static Filter bitsAnyClear(String field, Object val)
      Matches numeric or binary values in which any bit from a set of bit positions has a value of 0.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $bitsAnyClear
    • bitsAnySet

      public static Filter bitsAnySet(String field, Object val)
      Matches numeric or binary values in which any bit from a set of bit positions has a value of 1.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $bitsAnySet
    • box

      public static Filter box(String field, Point bottomLeft, Point upperRight)
      Specifies a rectangular box using legacy coordinate pairs for $geoWithin queries. The 2d index supports $box.
      Parameters:
      field - the field to check
      bottomLeft - the bottom left corner of the box
      upperRight - the upper right corner of the box
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $box
    • center

      public static Filter center(String field, Point center, double radius)
      Specifies a circle using legacy coordinate pairs to $geoWithin queries when using planar geometry. The 2d index supports $center.
      Parameters:
      field - the field to check
      center - the center point of the shape
      radius - the radius of the circle
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $center
    • centerSphere

      public static Filter centerSphere(String field, Point center, double radius)
      Defines a circle for a geospatial query that uses spherical geometry. The query returns documents that are within the bounds of the circle. You can use the $centerSphere operator on both GeoJSON objects and legacy coordinate pairs.

      To use $centerSphere, specify an array that contains:

      1. The grid coordinates of the circle’s center point, and
      2. The circle’s radius measured in radians. To calculate radians, see Calculate Distance Using Spherical Geometry.
      Parameters:
      field - the field to check
      center - the center point of the shape
      radius - the radius of the circle
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $centerSphere
    • comment

      public static Filter comment(String field, Object val)
      Adds a comment to a query predicate.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $comment
    • elemMatch

      public static Filter elemMatch(String field, Filter... filters)
      Selects documents if element in the array field matches all the specified $elemMatch conditions.
      Parameters:
      field - the field to check
      filters - the filters to evaluate against
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $elemMatch
    • eq

      public static Filter eq(String field, @Nullable Object val)
      Specifies equality condition. The $eq operator matches documents where the value of a field equals the specified value.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $eq
    • exists

      public static Filter exists(String field)
      Matches documents that have the specified field.
      Parameters:
      field - the field to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $exists
    • expr

      public static Filter expr(Expression expression)
      Allows use of aggregation expressions within the query language.
      Parameters:
      expression - the expression to evaluate
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $expr
    • geoIntersects

      public static Filter geoIntersects(String field, Geometry val)
      Selects geometries that intersect with a GeoJSON geometry. The 2dsphere index supports $geoIntersects.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $geoIntersects
    • geoWithin

      public static GeoWithinFilter geoWithin(String field, Polygon polygon)
      Selects geometries within a bounding GeoJSON geometry. The 2dsphere and 2d indexes support $geoWithin.
      Parameters:
      field - the field to check
      polygon - the polygon to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $geoWithin
    • geoWithin

      public static GeoWithinFilter geoWithin(String field, MultiPolygon polygon)
      Selects geometries within a bounding GeoJSON geometry. The 2dsphere and 2d indexes support $geoWithin.
      Parameters:
      field - the field to check
      polygon - the polygon to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $geoWithin
    • geometry

      public static Filter geometry(String field, Object val)
      Specifies a geometry in GeoJSON format to geospatial query operators.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $geometry
    • gt

      public static Filter gt(String field, Object val)
      $gt selects those documents where the value of the field is greater than the specified value.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $gt
    • gte

      public static Filter gte(String field, Object val)
      $gte selects the documents where the value of the field is greater than or equal to a specified value (e.g. value.)
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $gte
    • in

      public static Filter in(String field, Iterable<?> val)
      The $in operator selects the documents where the value of a field equals any value in the specified array.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $in
    • jsonSchema

      public static Filter jsonSchema(Document schema)
      Filters documents against the given JSON Schema.
      Parameters:
      schema - the schema to use
      Returns:
      the filter
      Since:
      2.1
      MongoDB documentation
      Query Filter: $jsonSchema
    • lt

      public static Filter lt(String field, Object val)
      $lt selects the documents where the value of the field is less than the specified value.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $lt
    • lte

      public static Filter lte(String field, Object val)
      $lte selects the documents where the value of the field is less than or equal to the specified value.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $lte
    • maxDistance

      public static Filter maxDistance(String field, Object val)
      Specifies a maximum distance to limit the results of $near and $nearSphere queries. The 2dsphere and 2d indexes support $maxDistance.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $maxDistance
    • minDistance

      public static Filter minDistance(String field, Object val)
      Specifies a minimum distance to limit the results of $near and $nearSphere queries. For use with 2dsphere index only.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $minDistance
    • mod

      public static Filter mod(String field, long divisor, long remainder)
      Performs a modulo operation on the value of a field and selects documents with a specified result.
      Parameters:
      field - the field to check
      divisor - the value to divide by
      remainder - the remainder to check for
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $mod
    • ne

      public static Filter ne(String field, @Nullable Object val)
      $ne selects the documents where the value of the field is not equal to the specified value. This includes documents that do not contain the field.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $ne
    • near

      public static NearFilter near(String field, Point point)
      Specifies a point for which a geospatial query returns the documents from nearest to farthest. The $near operator can specify either a GeoJSON point or legacy coordinate point.

      This requires a geospatial index.

      Parameters:
      field - the field to check
      point - the point to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $near
    • nearSphere

      public static NearFilter nearSphere(String field, Point point)
      Returns geospatial objects in proximity to a point on a sphere.

      Requires a geospatial index. The 2dsphere and 2d indexes support $nearSphere.

      Parameters:
      field - the field to check
      point - the point to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $nearSphere
    • nin

      public static Filter nin(String field, Object val)
      $nin selects the documents where:
      • the field value is not in the specified array or
      • the field does not exist.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $nin
    • nor

      public static Filter nor(Filter... filters)
      Applies $nor to a set of filters
      Parameters:
      filters - the filters
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $nor
    • or

      public static Filter or(Filter... filters)
      Applies $or to a set of filters
      Parameters:
      filters - the filters
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $or
    • polygon

      public static Filter polygon(String field, Point... points)
      Specifies a polygon to using legacy coordinate pairs for $geoWithin queries. The 2d index supports $center.
      Parameters:
      field - the field to check
      points - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $polygon
    • regex

      public static RegexFilter regex(String field, String pattern)
      Selects documents where values match a specified regular expression.
      Parameters:
      field - the field to check
      pattern - the regex pattern
      Returns:
      the filter
      Since:
      2.4.0
      MongoDB documentation
      Query Filter: $regex
    • regex

      public static RegexFilter regex(String field, Pattern pattern)
      Selects documents where values match a specified regular expression.
      Parameters:
      field - the field to check
      pattern - the regex pattern
      Returns:
      the filter
      Since:
      2.4.0
      MongoDB documentation
      Query Filter: $regex
    • size

      public static Filter size(String field, int size)
      Selects documents if the array field is a specified size.
      Parameters:
      field - the field to check
      size - the size to check against
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $size
    • text

      public static TextSearchFilter text(String textSearch)
      Performs text search.
      Parameters:
      textSearch - the text to search for
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $text
    • type

      public static Filter type(String field, Type val)
      Selects documents if a field is of the specified type.
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $type
    • uniqueDocs

      public static Filter uniqueDocs(String field, Object val)
      Deprecated. Modifies a $geoWithin and $near queries to ensure that even if a document matches the query multiple times, the query returns the document once.}
      Parameters:
      field - the field to check
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $uniqueDocs
    • where

      public static Filter where(String val)
      Matches documents that satisfy a JavaScript expression.
      Parameters:
      val - the value to check
      Returns:
      the filter
      MongoDB documentation
      Query Filter: $where