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 adecuado de estilo OP_COMMAND.

Desde:

  • 2.1.0

Colapso delresumen constante

OPTION_MAPPINGS =

Mapeos de las opciones a las opciones del comando find.

Desde:

  • 2.1.0

{
  Proyecto => 'proyección',
  Omitir => 'skip',
  :limit => 'limit',
  :batch_size => 'batchSize'
}.freeze
ASIGNACIONES_DE_CAMPOS_ESPECIALES =

Desde:

  • 2.1.0

{
  :$readPreference => '$readPreference',
  :$ordenar por => 'sort',
  :$hint => 'hint',
  :$comment => 'comment',
  :$clave de retorno => 'returnKey',
  :$instantánea => 'snapshot',
  :$maxScan => 'maxScan',
  :$máx => 'max',
  :$min => 'min',
  :$maxTimeMS => 'maxTimeMS',
  :$showDiskLoc => 'showRecordId',
  :$explica => 'explicar '
}.freeze
FLAG_MAPPINGS =

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

Desde:

  • 2.1.0

{
  cursor_seguible => 'adaptable ',
  oplog_replay => 'oplogReplay',
  :no_cursor_timeout => 'noCursorTimeout',
  :espera_datos => 'awaitData',
  :partial => 'permitirResultadosPartiales '
}.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.

Desde:

  • 2.1.0



283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# Archivo 'lib/mongo/protocol/query.rb', línea 283

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.
  a menos que BSON::Documento === filtro
    propagar ArgumentError, 'El filtro debe proporcionar acceso indiferente'
  end
  a menos que BSON::Documento === opciones
    propagar ArgumentError, 'Las opciones deben proporcionar acceso indiferente'
  end
  @colección = Colección
  @filtro = filtro
  @options = opciones
  @flags = flags
end

Detalles de los atributos de instancia

#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



261
262
263
# Archivo 'lib/mongo/protocol/query.rb', línea 261

def Colección
  @colección
end

#filtroBSON::Documento, Hash (solo lectura)

Devuelve filtro El filtro de consulta o comando.

Devuelve:

  • (BSON::Documento, Hash)

    filtro de query El filtro o comando de la consulta.

Desde:

  • 2.1.0



264
265
266
# Archivo 'lib/mongo/protocol/query.rb', línea 264

def filtro
  @filtro
end

#banderasMatriz<Símbolo> (solo lectura)

Devuelve las banderas.

Devuelve:

  • (arreglo<Symbol>)

    banderas Las banderas.

Desde:

  • 2.1.0



270
271
272
# Archivo 'lib/mongo/protocol/query.rb', línea 270

def flags
  @flags
end

#OpcionesBSON::Document, Hash (solo lectura)

Devuelve opciones Las opciones.

Devuelve:

  • (BSON::Documento, Hash)

    opciones Las opciones.

Desde:

  • 2.1.0



267
268
269
# Archivo 'lib/mongo/protocol/query.rb', línea 267

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



307
308
309
# Archivo 'lib/mongo/protocol/query.rb', línea 307

def Comando
  ¿dominio? ? op_command : find_command
end

#command_nameString

Obtén el nombre del comando. Si la colección es $cmd, entonces es la primera clave en el filtro, de lo contrario es un find.

Ejemplos:

Obtén el nombre del comando.

upconverter.command_name

Devuelve:

  • (string)

    El nombre del comando.

Desde:

  • 2.1.0



320
321
322
# Archivo 'lib/mongo/protocol/query.rb', línea 320

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