Módulo: Mongo::Operación::Find::Builder::Command Privado
- Definido en:
- lib/mongo/operación/find/builder/comando.rb
Overview
Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Compila una especificación del comando find a partir de opciones.
Colapso delresumen constante
- OPTION_MAPPINGS =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Las asignaciones de las opciones de Ruby al comando find.
BSON::Documento.Nuevo( allow_disk_use: 'allowDiskUse', allow_partial_results: 'permitirResultadosPartiales ', await_data: 'awaitData', batch_size: 'batchSize', intercalación: 'intercalación', comment: 'comment', filtrar: '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', adaptable: 'adaptable ', tailable_cursor: 'adaptable ', ).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 forma parte de una API privada. Debe evitarlo 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.
Este método muta el parámetro command.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# Archivo 'lib/mongo/operation/find/builder/command.rb', línea 87 module_function def convertir_límite_y_tamaño_de_lote!(Comando) si Comando[:limit] && Comando[:limit] < 0 && Comando[[batchSize]] && Comando[[batchSize]] < 0 entonces Comando[:limit] = Comando[:limit].abs Comando[[batchSize]] = Comando[:limit].abs Comando[:singleBatch] = true else [: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) ⇒ Object
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# Archivo 'lib/mongo/operation/find/builder/command.rb', línea 58 module_function def selector(especulación, Conexión) si especulación[:colación] && !Conexión.Funcionalidades.collation_enabled? propagar Error::Colación no admitida end BSON::Documento.Nuevo.tocar hacer |selector| OPTION_MAPPINGS.cada hacer |k, server_k| a menos que (Valor = especulación[k]).nil? selector[server_k] = Valor end end si rc = selector[:leerPreocupación] selector[:leerPreocupación] = opciones::Mapeador.transform_values_to_strings(rc) end convertir_límite_y_tamaño_de_lote!(selector) end end |