kmongo / org.litote.kmongo / com.mongodb.client.MongoCollection / ensureUniqueIndex

ensureUniqueIndex

fun <T> MongoCollection<T>.ensureUniqueIndex(vararg properties: KProperty<*>, indexOptions: IndexOptions = IndexOptions()): String (source)

Create an IndexOptions.unique index with the given keys and options. If the creation of the index is not doable because an index with the same keys but with different IndexOptions already exists, then drop the existing index and create a new one.

Parameters

keys - the properties, which must contain at least one

indexOptions - the options for the index

Return
the index name

fun <T> MongoCollection<T>.ensureUniqueIndex(clientSession: ClientSession, vararg properties: KProperty<*>, indexOptions: IndexOptions = IndexOptions()): String (source)

Create an IndexOptions.unique index with the given keys and options. If the creation of the index is not doable because an index with the same keys but with different IndexOptions already exists, then drop the existing index and create a new one.

Parameters

clientSession - the client session with which to associate this operation

keys - the properties, which must contain at least one

indexOptions - the options for the index

Return
the index name