Class: Mongo::Protocol::Query::Upconverter

Hereda:
Objeto
  • Objeto
Mostrar todo
Definido en:
lib/mongo/protocolo/query.rb

Overview

Convierte mensajes de query heredados al mensaje de estilo OP_COMMAND apropiado.

Desde:

  • 2.1.0

Resumen de constantes colapsar

OPTION_MAPPINGS =

Mapeos de las opciones a las opciones del comando find.

Desde:

  • 2.1.0

{
  Proyecto: 'proyección',
  saltar: 'skip',
  limit: 'limit',
  batch_size: 'batchSize'
}.freeze
SPECIAL_FIELD_MAPPINGS =

Desde:

  • 2.1.0

{
  :$readPreference => '$readPreference',
  .:$orderby => 'sort',
  :$hint => 'hint',
  :$comment => 'comment',
  ::$returnKey => 'returnKey',
  Instantánea => 'snapshot',
  $maxScan => 'maxScan',
  :$máx => 'max',
  :$min => 'min',
  :$maxTimeMS => 'maxTimeMS',
  :$showDiskLoc => 'showRecordId',
  :$explain => 'explicar'
}.freeze
FLAG_MAPPINGS =

Asignación de indicadores para encontrar las opciones de comandos.

Desde:

  • 2.1.0

{
  tailable_cursor: 'tailable',
  oplog_replay: 'oplogReplay',
  no_cursor_timeout: 'noCursorTimeout',
  await_data: 'awaitData',
  parcial: 'allowPartialResults'
}.freeze

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Detalles del Constructor

#initialize(colección, filtro, options, flags) ⇒ Upconverter

Instancie el convertidor ascendente.

Ejemplos:

Instancie el convertidor ascendente.

Upconverter.new('users', { name: 'test' }, { skip: 10 })

Parámetros:

  • Colección (string)

    El nombre de la colección.

  • filtro (BSON::documento, Hash)

    El filtro o comando.

  • opciones (BSON::documento, Hash)

    Las opciones.

  • flags (arreglo<Symbol>)

    Las banderas.

Aumenta:

  • (ArgumentError)

Desde:

  • 2.1.0



279
280
281
282
283
284
285
286
287
288
289
290
# Archivo 'lib/mongo/protocolo/query.rb', línea 279

def inicializar(Colección, filtro, opciones, flags)
  # Aunque la definición de documento afirma tanto los hashes como los BSON::Documents
  # son aceptables, esta clase espera que el filtro y las opciones sean
  # contiene claves de símbolos, que no es lo que produce la capa de operaciones.
  propagar ArgumentError, 'El filtro debe proporcionar acceso indiferente' a menos que filtro.is_a?(BSON::Documento)
  propagar ArgumentError, 'Las opciones deben proporcionar acceso indiferente' a menos que opciones.is_a?(BSON::Documento)

  @colección = Colección
  @filtro = filtro
  @options = opciones
  @flags = flags
end

Detalles de atributo de instancias

#colecciónString (readonly)

Devuelve colección El nombre de la colección.

Devuelve:

  • (string)

    colección El nombre de la colección.

Desde:

  • 2.1.0



257
258
259
# Archivo 'lib/mongo/protocolo/query.rb', línea 257

def Colección
  @colección
end

#filterBSON::Document, Hash (solo lectura)

Returns filter El filtro o comando de consulta.

Devuelve:

  • (BSON::documento, Hash)

    filtro de query El filtro o comando de la consulta.

Desde:

  • 2.1.0



260
261
262
# Archivo 'lib/mongo/protocolo/query.rb', línea 260

def filtro
  @filtro
end

#banderasarreglo<Símbolo> (solo lectura)

Devuelve las banderas.

Devuelve:

  • (arreglo<Symbol>)

    flags Las banderas.

Desde:

  • 2.1.0



266
267
268
# Archivo 'lib/mongo/protocolo/query.rb', línea 266

def flags
  @flags
end

#OpcionesBSON::Document, Hash (solo lectura)

Devuelve opciones Las opciones.

Devuelve:

  • (BSON::documento, Hash)

    opciones Las opciones.

Desde:

  • 2.1.0



263
264
265
# Archivo 'lib/mongo/protocolo/query.rb', línea 263

def opciones
  @options
end

Detalles del método de instancia

#commandBSON::Document

Obtén el comando actualizado.

Ejemplos:

Obtener el comando.

upconverter.command

Devuelve:

  • (BSON::Document)

    El comando actualizado.

Desde:

  • 2.1.0



300
301
302
# Archivo 'lib/mongo/protocolo/query.rb', línea 300

def Comando
  ¿comando? ? op_command : find_command
end

#command_nameString

Obtenga el nombre del comando. Si la colección es $cmd, entonces es la primera clave en el filtro. De lo contrario, es una búsqueda.

Ejemplos:

Obtén el nombre del comando.

upconverter.command_name

Devuelve:

  • (string)

    El nombre del comando.

Desde:

  • 2.1.0



313
314
315
# Archivo 'lib/mongo/protocolo/query.rb', línea 313

def command_name
  ((filtro[Consulta de cifra ($query)] || !¿comando?) ? Buscar : filtro.claves.primero).to_s
end