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

Herda:
Objeto
  • Objeto
mostrar tudo
Definido em:
lib/mongo/protocol/query.rb

Visão geral

Converte mensagens de query legado para a mensagem de estilo OP_COMMAND apropriado.

Desde:

  • 2.1.0

Colapsode resumo constante

OPTION_MAPPINGS =

Mapeamentos das opções para as opções de comando find.

Desde:

  • 2.1.0

{
  projeto: 'projeção',
  pular: 'skip',
  limit: 'limit',
  batch_size: 'batchSize'
}.congelar
speccial_FIELD_MAPPINGS =

Desde:

  • 2.1.0

{
  :$readPreference => '$readPreference',
  :$orderby => 'sort',
  :$hint => 'dica',
  :$comment => 'comment',
  :$returnKey => 'returnKey',
  :$snapshot => 'snapshot',
  :$maxScan => 'maxScan',
  :$max => 'max',
  :$min => 'min',
  :$maxTimeMS => 'maxTimeMS',
  :$showDiskLoc => 'showRecordId',
  :$explicar => 'explicar'
}.congelar
FLAG_MAPPINGS =

Mapeamento de sinalizadores para encontrar opções de comando.

Desde:

  • 2.1.0

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

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Detalhes do construtor

#initialize(collection, filtro, opções, sinalizadores) ➤ Upconverter

Instancie o upconverter.

Exemplos:

Instancie o upconverter.

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

Parâmetros:

  • collection (string)

    O nome da collection.

  • filtro, filtro (BSON::Document, Hash)

    O filtro ou comando.

  • opções (BSON::Document, Hash)

    As opções.

  • flags (Array <Símbolo>)

    As bandeiras.

Aumenta:

  • (ArgumentError)

Desde:

  • 2.1.0



279
280
281
282
283
284
285
286
287
288
289
290
# Arquivo 'lib/mongo/protocol/query.rb', linha 279

def inicializar(collection, filtro, filtro, opções, flags)
  # Embora a docstring declare hashes e BSON::Documents
  # são aceitáveis, esta classe espera que o filtro e as opções
  # contém chaves de símbolo que não é o que a camada de operação produz.
  aumentar ArgumentError, ' Ofiltro deve fornecer acesso indiferente' a menos que filtro, filtro.is_a?(BSON::Documento)
  aumentar ArgumentError, 'As opções devem fornecer acesso indiferente' a menos que opções.is_a?(BSON::Documento)

  @collection = collection
  @filter = filtro, filtro
  @opções = opções
  @flags = flags
end

Detalhes do atributo da instância

#collectionstring (somente leitura)

Retorna collection O nome da collection.

Retorna:

  • (string)

    collection O nome da collection.

Desde:

  • 2.1.0



257
258
259
# Arquivo 'lib/mongo/protocol/query.rb', linha 257

def collection
  @collection
end

#filterBSON::Document, Hash (readonly)

Retorna filtro O filtro de query ou comando.

Retorna:

  • (BSON::Document, Hash)

    filtro O filtro de consulta ou comando.

Desde:

  • 2.1.0



260
261
262
# Arquivo 'lib/mongo/protocol/query.rb', linha 260

def filtro, filtro
  @filter
end

#flagsArray <Símbolo> (somente leitura)

Retorna sinalizadores As bandeiras.

Retorna:

  • (Array <Símbolo>)

    bandeiras As bandeiras.

Desde:

  • 2.1.0



266
267
268
# Arquivo 'lib/mongo/protocol/query.rb', linha 266

def flags
  @flags
end

#optionsBSON::Document, Hash (readonly)

Retorna as opções As opções.

Retorna:

  • (BSON::Document, Hash)

    opções As opções.

Desde:

  • 2.1.0



263
264
265
# Arquivo 'lib/mongo/protocol/query.rb', linha 263

def opções
  @opções
end

Detalhes do método de instância

#commandBSON::Document

Obtenha o comando convertido.

Exemplos:

Obtenha o comando.

upconverter.command

Retorna:

  • (BSON::Document)

    O comando convertido.

Desde:

  • 2.1.0



300
301
302
# Arquivo 'lib/mongo/protocol/query.rb', linha 300

def comando
  comando? ? op_command : find_command
end

#command_name ➤ string

Obtenha o nome do comando. Se a collection for $cmd, será a primeira chave no filtro, caso contrário, será um achado.

Exemplos:

Obtenha o nome do comando.

upconverter.command_name

Retorna:

  • (string)

    O nome do comando.

Desde:

  • 2.1.0



313
314
315
# Arquivo 'lib/mongo/protocol/query.rb', linha 313

def command_name
  ((filtro, filtro[:$query] || !comando?) ? :find : filtro, filtro.keys.primeiro).to_s
end