Interface CreateIndexesOptions

interface CreateIndexesOptions {
    2dsphereIndexVersion?: number;
    authdb?: string;
    background?: boolean;
    bits?: number;
    bsonRegExp?: boolean;
    bucketSize?: number;
    checkKeys?: boolean;
    collation?: CollationOptions;
    comment?: unknown;
    commitQuorum?: string | number;
    dbName?: string;
    default_language?: string;
    enableUtf8Validation?: boolean;
    expireAfterSeconds?: number;
    explain?: ExplainVerbosityLike | ExplainCommandOptions;
    fieldsAsRaw?: Document;
    hidden?: boolean;
    ignoreUndefined?: boolean;
    language_override?: string;
    max?: number;
    maxTimeMS?: number;
    min?: number;
    name?: string;
    noResponse?: boolean;
    omitReadPreference?: boolean;
    partialFilterExpression?: Document;
    promoteBuffers?: boolean;
    promoteLongs?: boolean;
    promoteValues?: boolean;
    raw?: boolean;
    readConcern?: ReadConcernLike;
    readPreference?: ReadPreferenceLike;
    retryWrites?: boolean;
    serializeFunctions?: boolean;
    session?: ClientSession;
    sparse?: boolean;
    storageEngine?: Document;
    textIndexVersion?: number;
    timeoutMS?: number;
    unique?: boolean;
    useBigInt64?: boolean;
    version?: number;
    weights?: Document;
    wildcardProjection?: Document;
    willRetryWrite?: boolean;
}

Hierarchy

Properties

2dsphereIndexVersion?: number
authdb?: string
background?: boolean

Creates the index in the background, yielding whenever possible.

bits?: number
bsonRegExp?: boolean

return BSON regular expressions as BSONRegExp instances.

false

bucketSize?: number
checkKeys?: boolean

the serializer will check if keys are valid.

false

collation?: CollationOptions

Collation

comment?: unknown

Comment to apply to the operation.

In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

In server versions 4.4 and above, 'comment' can be any valid BSON type.

commitQuorum?: string | number

(MongoDB 4.4. or higher) Specifies how many data-bearing members of a replica set, including the primary, must complete the index builds successfully before the primary marks the indexes as ready. This option accepts the same values for the "w" field in a write concern plus "votingMembers", which indicates all voting data-bearing nodes.

dbName?: string
default_language?: string
enableUtf8Validation?: boolean

Enable utf8 validation when deserializing BSON documents. Defaults to true.

expireAfterSeconds?: number

Allows you to expire data on indexes applied to a data (MongoDB 2.2 or higher)

Specifies the verbosity mode for the explain output.

fieldsAsRaw?: Document

allow to specify if there what fields we wish to return as unserialized raw buffer.

null

hidden?: boolean

Specifies that the index should exist on the target collection but should not be used by the query planner when executing operations. (MongoDB 4.4 or higher)

ignoreUndefined?: boolean

serialize will not emit undefined fields note that the driver sets this to false

true

language_override?: string
max?: number

For geospatial indexes set the high bound for the co-ordinates.

maxTimeMS?: number

maxTimeMS is a server-side time limit in milliseconds for processing an operation.

min?: number

For geospatial indexes set the lower bound for the co-ordinates.

name?: string

Override the autogenerated index name (useful if the resulting name is larger than 128 bytes)

noResponse?: boolean
omitReadPreference?: boolean
partialFilterExpression?: Document

Creates a partial index based on the given filter object (MongoDB 3.2 or higher)

promoteBuffers?: boolean

when deserializing a Binary will return it as a node.js Buffer instance.

false

promoteLongs?: boolean

when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

true

promoteValues?: boolean

when deserializing will promote BSON values to their Node.js closest equivalent types.

true

raw?: boolean

Enabling the raw option will return a Node.js Buffer which is allocated using allocUnsafe API. See this section from the Node.js Docs here for more detail about what "unsafe" refers to in this context. If you need to maintain your own editable clone of the bytes returned for an extended life time of the process, it is recommended you allocate your own buffer and clone the contents:

const raw = await collection.findOne({}, { raw: true });
const myBuffer = Buffer.alloc(raw.byteLength);
myBuffer.set(raw, 0);
// Only save and use `myBuffer` beyond this point

Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). It does correctly work at Db, Collection, and per operation the same as other BSON options work.

readConcern?: ReadConcernLike

Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

readPreference?: ReadPreferenceLike

The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

retryWrites?: boolean

Should retry failed writes

serializeFunctions?: boolean

serialize the javascript functions

false

session?: ClientSession

Specify ClientSession for this command

sparse?: boolean

Creates a sparse index.

storageEngine?: Document

Allows users to configure the storage engine on a per-index basis when creating an index. (MongoDB 3.0 or higher)

textIndexVersion?: number
timeoutMS?: number

Specifies the time an operation will run until it throws a timeout error

unique?: boolean

Creates an unique index.

useBigInt64?: boolean

when deserializing a Long return as a BigInt.

false

version?: number

Specifies the index version number, either 0 or 1.

weights?: Document
wildcardProjection?: Document
willRetryWrite?: boolean