Módulo: Mongo::Operación::Find::Builder::Command Privado
- Definido en:
- lib/mongo/operación/find/builder/command.rb
Overview
Este módulo es parte de una API privada. Deberías evitar usar este módulo si es posible, ya que puede ser removido o cambiado en el futuro.
Compila una especificación del comando find a partir de opciones.
Resumen de constantes colapsar
- OPTION_MAPPINGS =
Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.
Las asignaciones de las opciones de Ruby al comando find.
BSON::Documento.Nuevo( allow_disk_use: 'allowDiskUse', allow_partial_results: 'allowPartialResults', await_data: 'awaitData', batch_size: 'batchSize', intercalación: 'intercalación', comment: 'comment', filtro: 'filtro', hint: 'hint', let: 'let', limit: 'limit', max_scan: 'maxScan', max_time_ms: 'maxTimeMS', max_value: 'max', valor_mínimo: 'min', no_cursor_timeout: 'noCursorTimeout', oplog_replay: 'oplogReplay', proyección: 'proyección', read_concern: 'readConcern', return_key: 'returnKey', show_disk_loc: 'showRecordId', unico_lote: 'singleBatch', saltar: 'skip', snapshot: 'snapshot', sort: 'sort', posicionable: 'tailable', tailable_cursor: 'tailable' ).freeze
Resumen del método de clase colapsar
-
.convert_limit_and_batch_size!(comando) ⇒ Objeto
privado
Convierte los parámetros negativos de limit y batchSize en el comando find en positivos.
- .selector(spec, _connection) ⇒ Object privado
Detalles del método de clase
.convert_limit_and_batch_size!(comando) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Convierte los parámetros negativos de limit y batchSize en el comando find a positivos. Remueve los parámetros si sus valores son cero.
Esto solo se usa para el comando find, no para la ruta OP_QUERY.
El parámetro command es mutado por este método.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# Archivo 'lib/mongo/operation/find/builder/command.rb', línea 80 module_function def convertir_límite_y_tamaño_de_lote!(Comando) si Comando[:limit] && Comando[:limit] < 0 && Comando[[batchSize]] && Comando[[batchSize]] < 0 Comando[:limit] = Comando[:limit].abs Comando[[batchSize]] = Comando[:limit].abs Comando[:singleBatch] = true else %i[limit batchSize].cada hacer |opt| si Comando[opt] si Comando[opt] < 0 Comando[opt] = Comando[opt].abs Comando[:singleBatch] = true elsif Comando[opt] == 0 Comando.borrar(opt) end end end end end |
.selector(spec, _connection) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# Archivo 'lib/mongo/operation/find/builder/command.rb', línea 55 module_function def selector(especificación, _connection) BSON::Documento.Nuevo.tocar hacer |selector| OPTION_MAPPINGS.cada hacer |k, server_k| a menos que (Valor = especificación[k]).nil? selector[server_k] = Valor end end si rc = selector[Preocupación de lectura] selector[Preocupación de lectura] = opciones::Mapeador.transform_values_to_strings(rc) end convertir_límite_y_tamaño_de_lote!(selector) end end |