Table of Contents

Class IndexKeys<TDocument>

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

A builder for specifying the keys for an index.

public static class IndexKeys<TDocument>

Type Parameters

TDocument

The type of the document.

Inheritance
IndexKeys<TDocument>
Inherited Members

Methods

Ascending(params Expression<Func<TDocument, object>>[])

Sets one or more key names to index in ascending order.

public static IndexKeysBuilder<TDocument> Ascending(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).

Descending(params Expression<Func<TDocument, object>>[])

Sets one or more key names to index in descending order.

public static 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 static 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 static 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 static 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 static 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 static 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 static 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 static 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 static IndexKeysBuilder<TDocument> TextAll()

Returns

IndexKeysBuilder<TDocument>

The builder (so method calls can be chained).

Wildcard(Expression<Func<TDocument, object>>)

Sets a wildcard key to the index.

public static 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).