Table of Contents

Class IndexKeysBuilder<TDocument>

Namespace
MongoDB.Driver.Builders
Assembly
MongoDB.Driver.Legacy.dll

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, otherwise A single field path.

Returns

IndexKeysBuilder<TDocument>

The builder (so method calls can be chained).