Módulo: Mongo::Operação::Find::Builder::Command Private
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/operation/find/builder/command.rb
Visão geral
Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.
Constrói uma especificação de comando find a partir de opções.
Colapsode resumo constante
- OPTION_MAPPINGS =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
Os mapeamentos das opções Ruby para o comando find.
BSON::Documento.Novo( allow_disk_use: 'allowDiskUse', allow_partial_results: 'allowPartialResults', await_data: 'awaitData', batch_size: 'batchSize', agrupamento: 'agrupamento', comment: 'comment', filtro: 'filter', hint: 'dica', let: 'deixe', limit: 'limit', max_scan: 'maxScan', max_time_ms: 'maxTimeMS', max_value: 'max', min_value: 'min', no_cursor_timeout: 'noCursorTimeout', oplog_replay: 'oplogReplay', projeção: 'projeção', read_concern: 'readConcern', return_key: 'returnKey', show_disk_loc: 'showRecordId', single_batch: 'singleBatch', pular: 'skip', snapshot: 'snapshot', sort: 'sort', tailable: 'tailable', tailable_cursor: 'tailable', ).congelar
Recolhimento do Resumo do método de classe
-
.convert_limit_and_batch_size!(comando) 3 Objeto
privado
Converte os parâmetros limite negativo e batchSize no comando de localização para positivos.
- .seletor(especificação, conexão) ➤ Objeto privado
Detalhes do método de classe
.convert_limit_and_batch_size!(comando) 3 Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Converte os parâmetros limite negativo e batchSize no comando de localização para positivos. Remove os parâmetros se seus valores forem zero.
Isso é usado apenas para o comando find, não para o caminho OP_QUERY.
O parâmetro command
é mutado por este método.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/find/builder/command.rb', linha 87 module_function def convert_limit_and_batch_size!(comando) se comando[:limit] && comando[:limit] < 0 && comando[:batchSize] && comando[:batchSize] < 0 então comando[:limit] = comando[:limit].abs comando[:batchSize] = comando[:limit].abs comando[:singleBatch] = true mais [:limit, :batchSize].cada fazer |opt| se comando[opt] se comando[opt] < 0 comando[opt] = comando[opt].abs comando[:singleBatch] = true elsif comando[opt] == 0 comando.excluir(opt) end end end end end |
.seletor(especificação, conexão) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'build/ruby-driver-v2.19/lib/mongo/operation/find/builder/command.rb', linha 58 module_function def seletor(especificações, Conexão) se especificações[:collation] && !Conexão.características.collection_enabled? aumentar Erro::UnsupportedCollation end BSON::Documento.Novo.toque fazer |seletor| OPTION_MAPPINGS.cada fazer |k, server_k| a menos que (valor = especificações[k]).nada? seletor[server_k] = valor end end se rc = seletor[:readConcern] seletor[:readConcern] = Opções::Mapeador.transform_values_to_strings(rc) end convert_limit_and_batch_size!(seletor) end end |