Class 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 Detail

      • 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 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​(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
      • 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 ascending 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

        public static Bson geoHaystack​(String fieldName,
                                       Bson additional)
        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