Class IndexKeysBuilder<TDocument>
A builder for specifying the keys for an index.
[Serializable]
[BsonSerializer(typeof(IndexKeysBuilder<>.Serializer))]
public class IndexKeysBuilder<TDocument> : BuilderBase, IConvertibleToBsonDocument, IMongoIndexKeysType 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
- memberExpressionsExpression<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
- memberExpressionsExpression<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
- memberExpressionExpression<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
- memberExpressionExpression<Func<TDocument, TMember>>
- The member expression. 
- additionalMemberExpressionExpression<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
- memberExpressionExpression<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
- memberExpressionExpression<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
- memberExpressionExpression<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
- memberExpressionsExpression<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
- memberExpressionsExpression<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
- memberExpressionExpression<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, otherwise- A single field path.
Returns
- IndexKeysBuilder<TDocument>
- The builder (so method calls can be chained).