Módulo: Mongo::Operação::Find::Builder::Command Private
- Definido em:
- 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, _connection) ➤ 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.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# Arquivo 'lib/mongo/operation/find/builder/command.rb', linha 80 module_function def convert_limit_and_batch_size!(comando) se comando[:limit] && comando[:limit] < 0 && comando[:batchSize] && comando[:batchSize] < 0 comando[:limit] = comando[:limit].abs comando[:batchSize] = comando[:limit].abs comando[:singleBatch] = true mais %i[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, _connection) ➤ 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.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# Arquivo 'lib/mongo/operation/find/builder/command.rb', linha 55 module_function def seletor(especificações, _connection) 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 |