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.
Crea una especificación de comando de búsqueda a partir de opciones.
Colapso delresumen constante
- OPCIONES_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 de búsqueda.
BSON::Documento.Nuevo( allow_disk_use: 'allowDiskUse', permitir_resultados_parciales: 'permitirResultadosPartiales ', esperar_datos: 'awaitData', tamaño del lote: ' tamaño dellote ', colación: 'colación ', comment: 'comment', filtrar: 'filtro', hint: 'hint', let: 'dejar ', limit: 'limit', escaneo máximo: 'maxScan', tiempo máximo_ms: 'maxTimeMS', valor máximo: 'max', valor mínimo: 'min', no_cursor_timeout: 'noCursorTimeout', oplog_replay: 'oplogReplay', proyección: 'proyección ', preocupación de lectura: 'leerPreocupación ', tecla de retorno: 'returnKey', show_disk_loc: ' mostrarIdDeRegistro ', lote único: 'lote único ', saltar: 'skip', instantánea: 'instantánea', sort: 'sort', adaptable: 'adaptable ', cursor_de_cola: 'adaptable ', ).freeze
Colapso delresumen del método de clase
-
.¡convertir_límite_y_tamaño_de_lote!(comando) ⇒ Objeto
privada
Convierte los parámetros de límite negativo y tamaño de lote en el comando de búsqueda en positivos.
- .selector(especificación, conexión) ⇒ Objeto privada
Detalles del método de clase
.¡convertir_límite_y_tamaño_de_lote!(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 límite y tamaño de lote del comando find en positivos. Elimina los parámetros si sus valores son cero.
Esto solo se utiliza para el comando de búsqueda, 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 ¡Límite de conversión y tamaño de lote!(Comando) Si Comando[:limit] && Comando[:limit] < 0 && Comando[:tamaño del lote] && Comando[:tamaño del lote] < 0 entonces Comando[:limit] = Comando[:limit].abs Comando[:tamaño del lote] = Comando[:limit].abs Comando[:lote único] = true else [:limit, :tamaño del lote].cada hacer |opt| Si Comando[opt] Si Comando[opt] < 0 Comando[opt] = Comando[opt].abs Comando[:lote único] = true elsif Comando[opt] == 0 Comando.borrar(opt) end end end end end |
.selector(especificación, conexión) ⇒ 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.
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.características.¿intercalación_habilitada? propagar Error::Intercalación no compatible end BSON::Documento.Nuevo.grifo hacer |selector| ASIGNACIONES DE OPCIONES.cada hacer |k, server_k| a no ser 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 ¡Límite de conversión y tamaño de lote!(selector) end end |