Class IndexKeysBuilder<TDocument>
A builder for specifying the keys for an index.
[Serializable]
[BsonSerializer(typeof(IndexKeysBuilder<>.Serializer))]
public class IndexKeysBuilder<TDocument> : BuilderBase, IConvertibleToBsonDocument, IMongoIndexKeys
Type Parameters
TDocument
The type of the document.
- Inheritance
-
IndexKeysBuilder<TDocument>
- Implements
- Inherited Members
- Extension Methods
Constructors
IndexKeysBuilder()
Initializes a new instance of the IndexKeysBuilder class.
public IndexKeysBuilder()
Methods
Ascending(params Expression<Func<TDocument, object>>[])
Sets one or more key names to index in ascending order.
public IndexKeysBuilder<TDocument> Ascending(params Expression<Func<TDocument, object>>[] memberExpressions)
Parameters
memberExpressions
Expression<Func<TDocument, object>>[]One or more key names.
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).
Descending(params Expression<Func<TDocument, object>>[])
Sets one or more key names to index in descending order.
public IndexKeysBuilder<TDocument> Descending(params Expression<Func<TDocument, object>>[] memberExpressions)
Parameters
memberExpressions
Expression<Func<TDocument, object>>[]The member expressions.
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).
GeoSpatialHaystack<TMember>(Expression<Func<TDocument, TMember>>)
Sets the key name to create a geospatial haystack index on.
[Obsolete("GeoHaystack indexes were deprecated in server version 4.4.")]
public IndexKeysBuilder<TDocument> GeoSpatialHaystack<TMember>(Expression<Func<TDocument, TMember>> memberExpression)
Parameters
memberExpression
Expression<Func<TDocument, TMember>>The member expression.
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).
Type Parameters
TMember
The type of the member.
GeoSpatialHaystack<TMember, TAdditionalMember>(Expression<Func<TDocument, TMember>>, Expression<Func<TDocument, TAdditionalMember>>)
Sets the key name and additional field name to create a geospatial haystack index on.
[Obsolete("GeoHaystack indexes were deprecated in server version 4.4.")]
public IndexKeysBuilder<TDocument> GeoSpatialHaystack<TMember, TAdditionalMember>(Expression<Func<TDocument, TMember>> memberExpression, Expression<Func<TDocument, TAdditionalMember>> additionalMemberExpression)
Parameters
memberExpression
Expression<Func<TDocument, TMember>>The member expression.
additionalMemberExpression
Expression<Func<TDocument, TAdditionalMember>>The additional member expression.
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).
Type Parameters
TMember
The type of the member.
TAdditionalMember
The type of the additional member.
GeoSpatialSpherical<TMember>(Expression<Func<TDocument, TMember>>)
Sets the key name to create a spherical geospatial index on.
public IndexKeysBuilder<TDocument> GeoSpatialSpherical<TMember>(Expression<Func<TDocument, TMember>> memberExpression)
Parameters
memberExpression
Expression<Func<TDocument, TMember>>The member expression.
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).
Type Parameters
TMember
The type of the member.
GeoSpatial<TMember>(Expression<Func<TDocument, TMember>>)
Sets the key name to create a geospatial index on.
public IndexKeysBuilder<TDocument> GeoSpatial<TMember>(Expression<Func<TDocument, TMember>> memberExpression)
Parameters
memberExpression
Expression<Func<TDocument, TMember>>The member expression.
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).
Type Parameters
TMember
The type of the member.
Hashed<TMember>(Expression<Func<TDocument, TMember>>)
Sets the key name to create a hashed index on.
public IndexKeysBuilder<TDocument> Hashed<TMember>(Expression<Func<TDocument, TMember>> memberExpression)
Parameters
memberExpression
Expression<Func<TDocument, TMember>>The member expression.
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).
Type Parameters
TMember
The type of the member.
Text(params Expression<Func<TDocument, IEnumerable<string>>>[])
Sets one or more key names to include in the text index.
public IndexKeysBuilder<TDocument> Text(params Expression<Func<TDocument, IEnumerable<string>>>[] memberExpressions)
Parameters
memberExpressions
Expression<Func<TDocument, IEnumerable<string>>>[]The member expressions.
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).
Text(params Expression<Func<TDocument, string>>[])
Sets one or more key names to include in the text index.
public IndexKeysBuilder<TDocument> Text(params Expression<Func<TDocument, string>>[] memberExpressions)
Parameters
memberExpressions
Expression<Func<TDocument, string>>[]The member expressions.
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).
TextAll()
Create a text index that indexes all text fields of a document.
public IndexKeysBuilder<TDocument> TextAll()
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).
ToBsonDocument()
Converts this object to a BsonDocument.
public override BsonDocument ToBsonDocument()
Returns
- BsonDocument
A BsonDocument.
Wildcard(Expression<Func<TDocument, object>>)
Sets a wildcard key to the index.
public IndexKeysBuilder<TDocument> Wildcard(Expression<Func<TDocument, object>> memberExpression = null)
Parameters
memberExpression
Expression<Func<TDocument, object>>The member expression representing the wildcard key name. If the wildcard name is empty, the generated key will be
All field paths
, otherwiseA single field path
.
Returns
- IndexKeysBuilder<TDocument>
The builder (so method calls can be chained).