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

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

Overview

Convierte los mensajes de consulta heredados al estilo de mensaje OP_COMMAND apropiado.

Desde:

  • 2.1.0

Colapso delresumen constante

OPCIONES_MAPPINGS =

Mapeos de las opciones a las opciones del comando find.

Desde:

  • 2.1.0

{
  :proyecto => 'proyección ',
  :saltar => 'skip',
  :limit => 'limit',
  :tamaño_del_lote => ' tamaño dellote '
}.freeze
ASIGNACIONES_DE_CAMPOS_ESPECIALES =

Desde:

  • 2.1.0

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

Mapeo de banderas para encontrar opciones de comando.

Desde:

  • 2.1.0

{
  :cursor_ajustable => 'adaptable ',
  :oplog_replay => 'oplogReplay',
  :no_cursor_timeout => 'noCursorTimeout',
  :espera_datos => 'awaitData',
  :partial => 'permitirResultadosPartiales '
}.freeze

Colapso delresumen de atributos de instancia

Colapso del resumen del método de instancia

Detalles del constructor

#inicializar(colección, filtro, opciones, banderas) ⇒ Upconverter

Instanciar el convertidor ascendente.

Ejemplos:

Instanciar el convertidor ascendente.

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

Parámetros:

  • Colección (Cadena) -

    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 cadena de documentación reclama tanto hashes como BSON::Documents
  # son aceptables, esta clase espera que el filtro y las opciones sean
  # contienen claves de símbolos que no son lo que produce la capa de operación.
  a no ser que BSON::Documento === filtro
    propagar ArgumentError, 'Elfiltro debe proporcionar acceso indiferente'
  end
  a no ser que BSON::Documento === opciones
    propagar ArgumentError, 'Las opciones deben proporcionar un acceso indiferente'
  end
  @recopilación = Colección
  @filtrar = filtro
  @opciones = opciones
  @flags = flags
end

Detalles de los atributos de instancia

#colecciónCadena (solo lectura)

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

Devuelve:

  • (Cadena) -

    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
  @recopilación
end

#filtroBSON::Documento, Hash (solo lectura)

Devuelve filtro El filtro de consulta o comando.

Devuelve:

  • (BSON::Documento, Hash)

    filtro El filtro o comando de consulta.

Desde:

  • 2.1.0



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

def filtro
  @filtrar
end

#banderasMatriz<Símbolo> (solo lectura)

Devuelve banderas 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::Documento, 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
  @opciones
end

Detalles del método de instancia

#commandBSON::Document

Obtenga el comando convertido.

Ejemplos:

Obtenga el comando.

upconverter.command

Devuelve:

  • (BSON::Documento)

    El comando convertido ascendentemente.

Desde:

  • 2.1.0



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

def Comando
  ¿dominio? ? comando_op : comando_buscar
end

#nombre_comandoCadena

Obtener el nombre del comando. Si la colección es $cmd, es la primera clave del filtro; de lo contrario, es un hallazgo.

Ejemplos:

Obtener el nombre del comando.

upconverter.command_name

Devuelve:

  • (Cadena) -

    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] || !¿dominio?) ? :encontrar : filtro.claves.primera).a_s
end