Class Indexes

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

public final class Indexes extends Object
A factory for defining index keys. A convenient way to use this class is to statically import all of its methods, which allows usage like:
    collection.createIndex(compoundIndex(ascending("x"), descending("y")));
 
Since:
3.1
  • Method Details

    • ascending

      public static Bson ascending(String... fieldNames)
      Create an index key for an ascending index on the given fields.
      Parameters:
      fieldNames - the field names, which must contain at least one
      Returns:
      the index specification
      MongoDB documentation
      indexes
    • ascending

      public static Bson ascending(List<String> fieldNames)
      Create an index key for an ascending index on the given fields.
      Parameters:
      fieldNames - the field names, which must contain at least one
      Returns:
      the index specification
      MongoDB documentation
      indexes
    • descending

      public static Bson descending(String... fieldNames)
      Create an index key for an descending index on the given fields.
      Parameters:
      fieldNames - the field names, which must contain at least one
      Returns:
      the index specification
      MongoDB documentation
      indexes
    • descending

      public static Bson descending(List<String> fieldNames)
      Create an index key for an descending index on the given fields.
      Parameters:
      fieldNames - the field names, which must contain at least one
      Returns:
      the index specification
      MongoDB documentation
      indexes
    • geo2dsphere

      public static Bson geo2dsphere(String... fieldNames)
      Create an index key for an 2dsphere index on the given fields.
      Parameters:
      fieldNames - the field names, which must contain at least one
      Returns:
      the index specification
      MongoDB documentation
      2dsphere Index
    • geo2dsphere

      public static Bson geo2dsphere(List<String> fieldNames)
      Create an index key for an 2dsphere index on the given fields.
      Parameters:
      fieldNames - the field names, which must contain at least one
      Returns:
      the index specification
      MongoDB documentation
      indexes
    • geo2d

      public static Bson geo2d(String fieldName)
      Create an index key for a 2d index on the given field.

      Note: A 2d index is for data stored as points on a two-dimensional plane. The 2d index is intended for legacy coordinate pairs used in MongoDB 2.2 and earlier.

      Parameters:
      fieldName - the field to create a 2d index on
      Returns:
      the index specification
      MongoDB documentation
      2d index
    • geoHaystack

      @Deprecated public static Bson geoHaystack(String fieldName, Bson additional)
      Deprecated.
      geoHaystack is deprecated in MongoDB 4.4, prefer geo2dsphere(String...)
      Create an index key for a geohaystack index on the given field.

      Note: For queries that use spherical geometry, a 2dsphere index is a better option than a haystack index. 2dsphere indexes allow field reordering; geoHaystack indexes require the first field to be the location field. Also, geoHaystack indexes are only usable via commands and so always return all results at once..

      Parameters:
      fieldName - the field to create a geoHaystack index on
      additional - the additional field that forms the geoHaystack index key
      Returns:
      the index specification
      MongoDB documentation
      geoHaystack index
    • text

      public static Bson text(String fieldName)
      Create an index key for a text index on the given field.
      Parameters:
      fieldName - the field to create a text index on
      Returns:
      the index specification
      MongoDB documentation
      text index
    • text

      public static Bson text()
      Create an index key for a text index on every field that contains string data.
      Returns:
      the index specification
      MongoDB documentation
      text index
    • hashed

      public static Bson hashed(String fieldName)
      Create an index key for a hashed index on the given field.
      Parameters:
      fieldName - the field to create a hashed index on
      Returns:
      the index specification
      MongoDB documentation
      hashed index
    • compoundIndex

      public static Bson compoundIndex(Bson... indexes)
      create a compound index specifications. If any field names are repeated, the last one takes precedence.
      Parameters:
      indexes - the index specifications
      Returns:
      the compound index specification
      MongoDB documentation
      compoundIndex
    • compoundIndex

      public static Bson compoundIndex(List<? extends Bson> indexes)
      compound multiple index specifications. If any field names are repeated, the last one takes precedence.
      Parameters:
      indexes - the index specifications
      Returns:
      the compound index specification
      MongoDB documentation
      compoundIndex