Package com.mongodb.client.model
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 Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Bson
ascending(String... fieldNames)
Create an index key for an ascending index on the given fields.static Bson
ascending(List<String> fieldNames)
Create an index key for an ascending index on the given fields.static Bson
compoundIndex(List<? extends Bson> indexes)
compound multiple index specifications.static Bson
compoundIndex(Bson... indexes)
create a compound index specifications.static Bson
descending(String... fieldNames)
Create an index key for an descending index on the given fields.static Bson
descending(List<String> fieldNames)
Create an index key for an descending index on the given fields.static Bson
geo2d(String fieldName)
Create an index key for a 2d index on the given field.static Bson
geo2dsphere(String... fieldNames)
Create an index key for an 2dsphere index on the given fields.static Bson
geo2dsphere(List<String> fieldNames)
Create an index key for an 2dsphere index on the given fields.static Bson
geoHaystack(String fieldName, Bson additional)
Create an index key for a geohaystack index on the given field.static Bson
hashed(String fieldName)
Create an index key for a hashed index on the given field.static Bson
text()
Create an index key for a text index on every field that contains string data.static Bson
text(String fieldName)
Create an index key for a text index on the given field.
-
-
-
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 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
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 onadditional
- 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
-
-