Optional ifIf true, no error will be thrown if the index already exists.
Note that this does not check if the existing index is the same as the one attempting to be created; it simply checks if the name is already in use.
Optional maxThis temporary error-ing property exists for migration convenience, and will be removed in a future version.
maxTimeMS option is no longer available; the timeouts system has been overhauled, and timeouts should now be set using timeout, and defaults in timeoutDefaults. You may generally Ctrl+R replace maxTimeMS with timeout to retain the same behavior.Optional optionsOptions available for text and ascii indexes
Optional timeoutLets you specify timeouts for individual methods, in two different formats:
// Both `requestTimeoutMs` and `generalMethodTimeoutMs` are set to 1000ms.
await coll.insertOne({ ... }, { timeout: 1000 });
// `requestTimeoutMs` is left as default, `generalMethodTimeoutMs` is set to 2000ms.
await coll.insertOne({ ... }, { timeout: { generalMethodTimeoutMs: 2000 } });
// Both `requestTimeoutMs` and `generalMethodTimeoutMs` are set to 2000ms.
await coll.insertMany([...], {
timeout: { requestTimeoutMs: 2000, generalMethodTimeoutMs: 2000 },
});
// `requestTimeoutMs` is left as default, `generalMethodTimeoutMs` is set to 2000ms.
await coll.insertMany([...], { timeout: 2000 });
// `requestTimeoutMs` is left as default, `generalMethodTimeoutMs` is set to 2000ms.
await coll.insertMany([...], { timeout: { generalMethodTimeoutMs: 2000 } });
// Both `requestTimeoutMs` and `generalMethodTimeoutMs` are set to 2000ms.
await coll.insertMany([...], {
timeout: { requestTimeoutMs: 2000, generalMethodTimeoutMs: 2000 },
});
See TimeoutDescriptor for much more information.
TimeoutDescriptor
Options for creating a new index via Table.createIndex