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

Herda:
Objeto
  • Objeto
mostrar tudo
Definido em:
build/ruby-driver-v2.19/lib/mongo/protocol/query.rb

Visão geral

Converte mensagens de query legadas 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',
  :skip => '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.

Desde:

  • 2.1.0



283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/query.rb', linha 283

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.
  a menos que BSON::Documento === filtro, filtro
    aumentar ArgumentError, ' Ofiltro deve fornecer acesso indiferente'
  end
  a menos que BSON::Documento === opções
    aumentar ArgumentError, 'As opções devem fornecer acesso indiferente'
  end
  @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



261
262
263
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/query.rb', linha 261

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



264
265
266
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/query.rb', linha 264

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



270
271
272
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/query.rb', linha 270

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



267
268
269
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/query.rb', linha 267

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



307
308
309
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/query.rb', linha 307

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



320
321
322
# File 'build/ruby-driver-v2.19/lib/mongo/protocol/query.rb', linha 320

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