123456789_123456789_123456789_123456789_123456789_

Class: Mongo::Error::UnsupportedOption

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Subclasses:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Error
Instance Chain:
self, Error
Inherits: Error
  • Object
Defined in: lib/mongo/error/unsupported_option.rb

Overview

Raised if an unsupported option is specified for an operation.

Since:

  • 2.0.0

Constant Summary

  • ALLOW_DISK_USE_MESSAGE = Internal use only

    The error message provided when the user passes the allow_disk_use option to a find operation against a server that does not support the allow_disk_use operation and does not provide option validation.

    Since:

    • 2.0.0

    # File 'lib/mongo/error/unsupported_option.rb', line 44
    'The MongoDB server handling this request does ' \
    'not support the allow_disk_use option on this command. The ' \
    'allow_disk_use option is supported on find commands on MongoDB ' \
    'server versions 4.4 and later'
  • COMMIT_QUORUM_MESSAGE = Internal use only

    The error message provided when the user passes the commit_quorum option to a createIndexes operation against a server that does not support that option.

    Since:

    • 2.0.0

    # File 'lib/mongo/error/unsupported_option.rb', line 54
    'The MongoDB server handling this request does ' \
    'not support the commit_quorum option on this command. The commit_quorum ' \
    'option is supported on createIndexes commands on MongoDB server versions ' \
    '4.4 and later'
  • HINT_MESSAGE = Internal use only

    The error message provided when the user passes the hint option to a write operation against a server that does not support the hint option and does not provide option validation.

    Since:

    • 2.0.0

    # File 'lib/mongo/error/unsupported_option.rb', line 26
    'The MongoDB server handling this request does not support ' \
    'the hint option on this command. The hint option is supported on update ' \
    'commands on MongoDB server versions 4.2 and later and on findAndModify ' \
    'and delete commands on MongoDB server versions 4.4 and later'
  • UNACKNOWLEDGED_HINT_MESSAGE = Internal use only

    The error message provided when the user passes the hint option to an unacknowledged write operation.

    Since:

    • 2.0.0

    # File 'lib/mongo/error/unsupported_option.rb', line 35
    'The hint option cannot be specified on ' \
    'an unacknowledged write operation. Remove the hint option or perform ' \
    'this operation with a write concern of at least { w: 1 }'

Class Method Summary

Class Method Details

.allow_disk_use_errorUnsupportedOption

This method is for internal use only.

Raise an error about an unsupported allow_disk_use option.

Returns:

  • (UnsupportedOption)

    An error with a default error message.

Since:

  • 2.0.0

[ GitHub ]

  
# File 'lib/mongo/error/unsupported_option.rb', line 87

def self.allow_disk_use_error
  new(ALLOW_DISK_USE_MESSAGE)
end

.commit_quorum_errorUnsupportedOption

This method is for internal use only.

Raise an error about an unsupported commit_quorum option.

Returns:

  • (UnsupportedOption)

    An error with a default error message.

Since:

  • 2.0.0

[ GitHub ]

  
# File 'lib/mongo/error/unsupported_option.rb', line 97

def self.commit_quorum_error
  new(COMMIT_QUORUM_MESSAGE)
end

.hint_error(**options) ⇒ UnsupportedOption

This method is for internal use only.

Raise an error about an unsupported hint option.

Parameters:

  • options (Hash)

    a customizable set of options

Options Hash (**options):

  • unacknowledged_write (Boolean)

    Whether this error pertains to a hint option passed to an unacknowledged write. Defaults to false.

Returns:

  • (UnsupportedOption)

    An error with a default error message.

Since:

  • 2.0.0

[ GitHub ]

  
# File 'lib/mongo/error/unsupported_option.rb', line 69

def self.hint_error(**options)
  unacknowledged_write = options[:unacknowledged_write] || false

  error_message = if unacknowledged_write
                    UNACKNOWLEDGED_HINT_MESSAGE
                  else
                    HINT_MESSAGE
                  end

  new(error_message)
end