Exception: Mongo::Error

Inherits:
StandardError
  • Object
show all
Includes:
Labelable, Notable
Defined in:
build/ruby-driver-master/lib/mongo/error.rb,
build/ruby-driver-master/lib/mongo/error/parser.rb,
build/ruby-driver-master/lib/mongo/error/notable.rb,
build/ruby-driver-master/lib/mongo/error/kms_error.rb,
build/ruby-driver-master/lib/mongo/error/labelable.rb,
build/ruby-driver-master/lib/mongo/error/auth_error.rb,
build/ruby-driver-master/lib/mongo/error/lint_error.rb,
build/ruby-driver-master/lib/mongo/error/crypt_error.rb,
build/ruby-driver-master/lib/mongo/error/invalid_uri.rb,
build/ruby-driver-master/lib/mongo/error/invalid_file.rb,
build/ruby-driver-master/lib/mongo/error/socket_error.rb,
build/ruby-driver-master/lib/mongo/error/closed_stream.rb,
build/ruby-driver-master/lib/mongo/error/invalid_nonce.rb,
build/ruby-driver-master/lib/mongo/error/max_bson_size.rb,
build/ruby-driver-master/lib/mongo/error/session_ended.rb,
build/ruby-driver-master/lib/mongo/error/file_not_found.rb,
build/ruby-driver-master/lib/mongo/error/no_srv_records.rb,
build/ruby-driver-master/lib/mongo/error/handshake_error.rb,
build/ruby-driver-master/lib/mongo/error/invalid_address.rb,
build/ruby-driver-master/lib/mongo/error/invalid_session.rb,
build/ruby-driver-master/lib/mongo/error/write_retryable.rb,
build/ruby-driver-master/lib/mongo/error/bulk_write_error.rb,
build/ruby-driver-master/lib/mongo/error/extra_file_chunk.rb,
build/ruby-driver-master/lib/mongo/error/invalid_document.rb,
build/ruby-driver-master/lib/mongo/error/max_message_size.rb,
build/ruby-driver-master/lib/mongo/error/missing_password.rb,
build/ruby-driver-master/lib/mongo/error/multi_index_drop.rb,
build/ruby-driver-master/lib/mongo/error/unmet_dependency.rb,
build/ruby-driver-master/lib/mongo/error/invalid_signature.rb,
build/ruby-driver-master/lib/mongo/error/mismatched_domain.rb,
build/ruby-driver-master/lib/mongo/error/operation_failure.rb,
build/ruby-driver-master/lib/mongo/error/pool_closed_error.rb,
build/ruby-driver-master/lib/mongo/error/invalid_txt_record.rb,
build/ruby-driver-master/lib/mongo/error/missing_connection.rb,
build/ruby-driver-master/lib/mongo/error/missing_file_chunk.rb,
build/ruby-driver-master/lib/mongo/error/missing_service_id.rb,
build/ruby-driver-master/lib/mongo/error/unsupported_option.rb,
build/ruby-driver-master/lib/mongo/error/connection_perished.rb,
build/ruby-driver-master/lib/mongo/error/invalid_read_option.rb,
build/ruby-driver-master/lib/mongo/error/need_primary_server.rb,
build/ruby-driver-master/lib/mongo/error/no_server_available.rb,
build/ruby-driver-master/lib/mongo/error/server_api_conflict.rb,
build/ruby-driver-master/lib/mongo/error/unexpected_response.rb,
build/ruby-driver-master/lib/mongo/error/invalid_read_concern.rb,
build/ruby-driver-master/lib/mongo/error/missing_resume_token.rb,
build/ruby-driver-master/lib/mongo/error/raise_original_error.rb,
build/ruby-driver-master/lib/mongo/error/read_write_retryable.rb,
build/ruby-driver-master/lib/mongo/error/sdam_error_detection.rb,
build/ruby-driver-master/lib/mongo/error/socket_timeout_error.rb,
build/ruby-driver-master/lib/mongo/error/unknown_payload_type.rb,
build/ruby-driver-master/lib/mongo/error/unsupported_features.rb,
build/ruby-driver-master/lib/mongo/error/internal_driver_error.rb,
build/ruby-driver-master/lib/mongo/error/invalid_config_option.rb,
build/ruby-driver-master/lib/mongo/error/invalid_database_name.rb,
build/ruby-driver-master/lib/mongo/error/invalid_file_revision.rb,
build/ruby-driver-master/lib/mongo/error/invalid_min_pool_size.rb,
build/ruby-driver-master/lib/mongo/error/invalid_write_concern.rb,
build/ruby-driver-master/lib/mongo/error/unsupported_collation.rb,
build/ruby-driver-master/lib/mongo/error/credential_check_error.rb,
build/ruby-driver-master/lib/mongo/error/invalid_bulk_operation.rb,
build/ruby-driver-master/lib/mongo/error/sessions_not_supported.rb,
build/ruby-driver-master/lib/mongo/error/change_stream_resumable.rb,
build/ruby-driver-master/lib/mongo/error/invalid_collection_name.rb,
build/ruby-driver-master/lib/mongo/error/invalid_update_document.rb,
build/ruby-driver-master/lib/mongo/error/mongocryptd_spawn_error.rb,
build/ruby-driver-master/lib/mongo/error/unexpected_chunk_length.rb,
build/ruby-driver-master/lib/mongo/error/bad_load_balancer_target.rb,
build/ruby-driver-master/lib/mongo/error/invalid_application_name.rb,
build/ruby-driver-master/lib/mongo/error/invalid_cursor_operation.rb,
build/ruby-driver-master/lib/mongo/error/invalid_server_auth_host.rb,
build/ruby-driver-master/lib/mongo/error/server_api_not_supported.rb,
build/ruby-driver-master/lib/mongo/error/session_not_materialized.rb,
build/ruby-driver-master/lib/mongo/error/unsupported_message_type.rb,
build/ruby-driver-master/lib/mongo/error/invalid_server_preference.rb,
build/ruby-driver-master/lib/mongo/error/unsupported_array_filters.rb,
build/ruby-driver-master/lib/mongo/error/server_certificate_revoked.rb,
build/ruby-driver-master/lib/mongo/error/invalid_bulk_operation_type.rb,
build/ruby-driver-master/lib/mongo/error/connection_check_out_timeout.rb,
build/ruby-driver-master/lib/mongo/error/insufficient_iteration_count.rb,
build/ruby-driver-master/lib/mongo/error/invalid_replacement_document.rb,
build/ruby-driver-master/lib/mongo/error/invalid_server_auth_response.rb,
build/ruby-driver-master/lib/mongo/error/failed_string_prep_validation.rb,
build/ruby-driver-master/lib/mongo/error/invalid_transaction_operation.rb,
build/ruby-driver-master/lib/mongo/error/missing_scram_server_signature.rb,
build/ruby-driver-master/lib/mongo/error/unchangeable_collection_option.rb,
build/ruby-driver-master/lib/mongo/error/no_service_connection_available.rb,
build/ruby-driver-master/lib/mongo/error/snapshot_session_invalid_server_version.rb,
build/ruby-driver-master/lib/mongo/error/snapshot_session_transaction_prohibited.rb

Overview

Base error class for all Mongo related errors.

Since:

  • 2.0.0

Defined Under Namespace

Modules: ChangeStreamResumable, Labelable, Notable, ReadWriteRetryable, SdamErrorDetection, WriteRetryable Classes: AuthError, BadLoadBalancerTarget, BulkWriteError, ClosedStream, ConnectionCheckOutTimeout, ConnectionPerished, CredentialCheckError, CryptError, ExtraFileChunk, FailedStringPrepValidation, FileNotFound, HandshakeError, InsufficientIterationCount, InternalDriverError, InvalidAddress, InvalidApplicationName, InvalidBulkOperation, InvalidBulkOperationType, InvalidCollectionName, InvalidConfigOption, InvalidCursorOperation, InvalidDatabaseName, InvalidDocument, InvalidFile, InvalidFileRevision, InvalidMinPoolSize, InvalidNonce, InvalidReadConcern, InvalidReadOption, InvalidReplacementDocument, InvalidServerAuthHost, InvalidServerAuthResponse, InvalidServerPreference, InvalidSession, InvalidSignature, InvalidTXTRecord, InvalidTransactionOperation, InvalidURI, InvalidUpdateDocument, InvalidWriteConcern, KmsError, LintError, MaxBSONSize, MaxMessageSize, MismatchedDomain, MissingConnection, MissingFileChunk, MissingPassword, MissingResumeToken, MissingScramServerSignature, MissingServiceId, MongocryptdSpawnError, MultiIndexDrop, NeedPrimaryServer, NoSRVRecords, NoServerAvailable, NoServiceConnectionAvailable, OperationFailure, Parser, PoolClosedError, RaiseOriginalError, ServerApiConflict, ServerApiNotSupported, ServerCertificateRevoked, SessionEnded, SessionNotMaterialized, SessionsNotSupported, SnapshotSessionInvalidServerVersion, SnapshotSessionTransactionProhibited, SocketError, SocketTimeoutError, UnchangeableCollectionOption, UnexpectedChunkLength, UnexpectedResponse, UnknownPayloadType, UnmetDependency, UnsupportedArrayFilters, UnsupportedCollation, UnsupportedFeatures, UnsupportedMessageType, UnsupportedOption

Constant Summary collapse

CODE =

The error code field.

Since:

  • 2.0.0

'code'.freeze
ERR =
Deprecated.

An error field, MongoDB < 2.6

Since:

  • 2.0.0

'$err'.freeze
ERROR =
Deprecated.

An error field, MongoDB < 2.4

Since:

  • 2.0.0

'err'.freeze
ERRMSG =
Deprecated.

The standard error message field, MongoDB 3.0+

Since:

  • 2.0.0

'errmsg'.freeze
WRITE_ERRORS =
Deprecated.

The constant for the writeErrors array.

Since:

  • 2.0.0

'writeErrors'.freeze
WRITE_CONCERN_ERROR =
Deprecated.

The constant for a write concern error.

Since:

  • 2.0.0

'writeConcernError'.freeze
WRITE_CONCERN_ERRORS =
Deprecated.

The constant for write concern errors.

Since:

  • 2.1.0

'writeConcernErrors'.freeze
UNKNOWN_ERROR =

Constant for an unknown error.

Since:

  • 2.0.0

8.freeze
BAD_VALUE =

Constant for a bad value error.

Since:

  • 2.0.0

2.freeze
CURSOR_NOT_FOUND =

Constant for a Cursor not found error.

Since:

  • 2.2.3

'Cursor not found.'
UNKNOWN_TRANSACTION_COMMIT_RESULT_LABEL =
Deprecated.

Error label describing commitTransaction errors that may or may not occur again if a commit is manually retried by the user.

Since:

  • 2.6.0

'UnknownTransactionCommitResult'.freeze
TRANSIENT_TRANSACTION_ERROR_LABEL =
Deprecated.

Error label describing errors that will likely not occur if a transaction is manually retried from the start.

Since:

  • 2.6.0

'TransientTransactionError'.freeze

Instance Attribute Summary

Attributes included from Notable

#connection_global_id, #generation, #service_id

Instance Method Summary collapse

Methods included from Labelable

#add_label, #label?, #labels

Methods included from Notable

#add_note, #notes, #to_s

Constructor Details

#initialize(msg = nil) ⇒ Error

Returns a new instance of Error.

Since:

  • 2.0.0



112
113
114
115
# File 'build/ruby-driver-master/lib/mongo/error.rb', line 112

def initialize(msg = nil)
  super
  @write_concern_error_labels = []
end

Instance Method Details

#change_stream_resumable?true, false

Can the change stream on which this error occurred be resumed, provided the operation that triggered this error was a getMore?

Examples:

Is the error resumable for the change stream?

error.change_stream_resumable?

Returns:

  • (true, false)

    Whether the error is resumable.

Since:

  • 2.6.0



94
95
96
# File 'build/ruby-driver-master/lib/mongo/error.rb', line 94

def change_stream_resumable?
  false
end

#write_concern_error_label?(label) ⇒ Boolean

Does the write concern error have the given label?

Parameters:

  • label (String)

    The label to check for the presence of.

Returns:

  • (Boolean)

    Whether the write concern error has the given label.

Since:

  • 2.0.0



122
123
124
# File 'build/ruby-driver-master/lib/mongo/error.rb', line 122

def write_concern_error_label?(label)
  @write_concern_error_labels.include?(label)
end

#write_concern_error_labelsArray<String>

The set of error labels associated with the write concern error.

Returns:

  • (Array<String>)

    The list of error labels.

Since:

  • 2.0.0



129
130
131
# File 'build/ruby-driver-master/lib/mongo/error.rb', line 129

def write_concern_error_labels
  @write_concern_error_labels.dup
end