Class CumulativeOperationErrorAbstract

An abstract class representing an exception that occurred due to a cumulative operation on the Data API. This is the base class for all Data API errors that represent a paginated operation, such as insertMany, deleteMany, and updateMany, and will never be thrown directly.

Useful for instanceof checks.

This is only for Data API related errors, such as a non-existent collections, or a duplicate key error. It is not, however, for errors such as an HTTP network error, or a malformed request. The exception being timeouts, which are represented by the DataAPITimeoutError class.

Field

message - A human-readable message describing the first error

Field

errorDescriptors - A list of error descriptors representing the individual errors returned by the API

Field

detailedErrorDescriptors - A list of errors 1:1 with the number of errorful API requests made to the server.

Field

partialResult - The partial result of the operation that was performed

Hierarchy (view full)

Constructors

Properties

detailedErrorDescriptors: DataAPIDetailedErrorDescriptor[]

A list of errors 1:1 with the number of errorful API requests made to the server. Each element contains the original command, the raw response, and the error descriptors for that request.

For operations that only make one request, this will be a singleton list (i.e. insertOne).

errorDescriptors: DataAPIErrorDescriptor[]

A list of error descriptors representing the individual errors returned by the API.

This is always equal to detailedErrorDescriptors.flatMap(d => d.errorDescriptors), for the user's convenience.

message: string

A human-readable message describing the first error.

This is always equal to errorDescriptors[0]?.message if it exists, otherwise it's given a generic default message.

name: string
partialResult: unknown

The partial result of the operation that was performed. This is always defined, and is the result of the operation up to the point of the first error. For example, if you're inserting 100 documents ordered and the 50th document fails, the partialResult will contain the first 49 documents that were successfully inserted.

stack?: string
prepareStackTrace?: ((err, stackTraces) => any)

Optional override for formatting stack traces

Type declaration

    • (err, stackTraces): any
    • Parameters

      • err: Error
      • stackTraces: CallSite[]

      Returns any

stackTraceLimit: number

Methods

  • Create .stack property on a target object

    Parameters

    • targetObject: object
    • Optional constructorOpt: Function

    Returns void