Interface ListTypesOptions

Options for listing user-defined types.

Field

nameOnly - If true, only the name of the UDTs is returned. If false, the full UDT info is returned. Defaults to false.

Field

keyspace - Overrides the keyspace to list UDTs from. If not provided, the default keyspace is used.

Field

timeout - The timeout overrides for this method

See

Db.listTypes

interface ListTypesOptions {
    keyspace?: string;
    maxTimeMS?: "ERROR: The `maxTimeMS` option is no longer available; the timeouts system has been overhauled, and timeouts should now be set using `timeout`";
    nameOnly?: boolean;
    namespace?: "ERROR: The `namespace` terminology has been removed, and replaced with `keyspace` throughout the client";
    timeout?: number | Pick<Partial<TimeoutDescriptor>, "requestTimeoutMs" | "tableAdminTimeoutMs">;
}

Hierarchy (view full)

Properties

keyspace?: string

The keyspace to use for the operation.

maxTimeMS?: "ERROR: The `maxTimeMS` option is no longer available; the timeouts system has been overhauled, and timeouts should now be set using `timeout`"

This temporary error-ing property exists for migration convenience, and will be removed in a future version.

Deprecated

  • The 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.
nameOnly?: boolean

If true, only the name of the UDTs is returned.

If false, the full UDT info is returned.

Defaults to false.

Example

const names = await db.listTypes({ nameOnly: true });
console.log(names); // ['address', 'user_profile']

const info = await db.listTypes({ nameOnly: false });
console.log(info); // [{ name: 'address', definition: { fields: { ... } } }]

Default Value

false
namespace?: "ERROR: The `namespace` terminology has been removed, and replaced with `keyspace` throughout the client"

This temporary error-ing property exists for migration convenience, and will be removed in a future version.

Deprecated

  • The namespace terminology has been removed, and replaced with keyspace throughout the client.
timeout?: number | Pick<Partial<TimeoutDescriptor>, "requestTimeoutMs" | "tableAdminTimeoutMs">
Overview

Lets you specify timeouts for individual methods, in two different formats:

  • A subtype of TimeoutDescriptor, which lets you specify the timeout for specific categories.
  • A number, which specifies the "happy path" timeout for the method.
    • In single-call methods, this sets both the request & overall method timeouts.
    • In multi-call methods, this sets the overall method timeout (request timeouts are kept as default).

Example

// 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 },
});

Example

// `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.

See

TimeoutDescriptor