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.

Desde:

  • 2.0.0

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.

Desde:

  • 2.0.0

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

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.

Desde:

  • 2.0.0



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.

Desde:

  • 2.0.0



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