Table of Contents

Class DslIndexDefinition

Namespace: Casewhere.Runtime.DSL
Assembly: Casewhere.Runtime.dll

The index definition contains a set of properties that controls the creation of the index.

public class DslIndexDefinition

Inheritance

objectDslIndexDefinition

Inherited Members

object.ToString(), object.Equals(object), object.Equals(object, object), object.ReferenceEquals(object, object), object.GetHashCode(), object.GetType(), object.MemberwiseClone()

Extension Methods

ObjectExtension.ConvertToBsonValue(object), EnumExtensions.DeepClone<DslIndexDefinition>(DslIndexDefinition)

Constructors

DslIndexDefinition()

public DslIndexDefinition()

Properties

Background

Optional. If specified, the index will be created in a background.

public bool? Background { get; set; }

Property Value

bool?

ExpireAfter

Optional. Specifies a value, in seconds via TimeSpan, as a time to live (TTL) to control how long data source retains data objects in data source. This property only applies to TTL indexes.

public TimeSpan? ExpireAfter { get; set; }

Property Value

TimeSpan?

Keys

The list of index key definition (Attributes Name and Index type).

[Required]
public IList<DslIndexKeyDefinition> Keys { get; set; }

Property Value

IList<DslIndexKeyDefinition>

Name

The name of the index.

[Required]
public string Name { get; set; }

Property Value

string

PartialFilterExpression

Optional. If specified, the index only references data objects that match the filter expression. A filter expression can include: $eq, $exists: true, $gt, $gte, $lt, $lte, $type, $and, $or, $in.

public string PartialFilterExpression { get; set; }

Property Value

string

Unique

Optional. Creates a unique index so that the data source will not accept insertion or update of data object where the index key value matches an existing value in the index.

public bool? Unique { get; set; }

Property Value

bool?

WildcardProjection

Optional. If specified, Wildcard indexes will include/exclude fileds in this option. A wildcard projection is a Json object: {includeFieldName:1,excludeFieldName:0}

public string WildcardProjection { get; set; }

Property Value

string