Clase: Mongo::Collection::View
- Hereda:
-
Objeto
- Objeto
- Mongo::Colección::Ver
- Ampliado por:
- Reenviable
- Incluye:
- Enumerado, Explicable, Inmutable, Iterable, Legible, Escribible
- Definido en:
- lib/mongo/collection/view.rb,
lib/mongo/collection/view/iterable.rb,
lib/mongo/collection/view/readable.rb,
lib/mongo/collection/view/writable.rb,
lib/mongo/collection/view/immutable.rb,
lib/mongo/collection/view/map_reduce.rb,
lib/mongo/collection/view/aggregation.rb,
lib/mongo/collection/view/explainable.rb,
lib/mongo/collection/view/change_stream.rb,
lib/mongo/collection/view/builder/map_reduce.rb,
lib/mongo/collection/view/builder/aggregation.rb,
lib/mongo/collection/view/aggregation/behavior.rb,
lib/mongo/collection/view/change_stream/retryable.rb
Overview
La API View es semipública.
Representación de una query y opciones que produce un conjunto de resultados de documentos.
Se puede modificar un View utilizando asistentes. Los asistentes pueden encadenarse, ya que cada uno devuelve un View si se proporcionan argumentos.
El mensaje de query se envía al servidor cuando se invoca un “terminador”. Por ejemplo, al llamar a #each en un View, se crea un objeto cursor que luego envía la query al servidor.
Un View no es creado directamente por un usuario. En cambio, View crea un View cuando se llama a una operación CRUD y lo devuelve al usuario para que interactúe con él.
Definido bajo Namespace
Modules: Clases constructoras, explicables, inmutables, iterables, legibles y escribibles: agregación, flujo de cambios, MapReduce
Resumen constante
Constantes incluidas de Writable
Constantes incluidas de Explicable
Explainable::ALL_PLANS_EXECUTION, Explainable::EXECUTION_STATS, Explainable::QUERY_PLANNER
Resumen de atributos de la instancia colapsar
-
#colección ⇒ Colección
Solo lectura
El
Collectiona consultar. -
#filtro ⇒ Hash (también: #selector)
Solo lectura
El filtro de consulta.
-
#operation_timeout_ms ⇒ Entero | nulo | El valor de timeout_ms que se pasó como opción a la vista.
Solo lectura
privado
Entero | nulo | El valor timeout_ms que se pasó como opción a la vista.
Atributos incluidos de Mongo::CursorHost
Atributos incluidos de Inmutable
Resumen del método de instancia colapsar
-
#==(otro) ⇒ true, false (también: #eql?)
Compara dos objetos
View. -
#hash ⇒ Integer
Un valor hash para el
Viewcompuesto por el namespace de la colección, el hash de las opciones y el hash del filtro. -
#inicializar(colección, filtro = {}, opciones = {}) ⇒ Vista
constructor
Crea un nuevo
View. -
#inspeccionar ⇒ Cadena
Obtén una representación en string legible por humanos de
View. -
#operation_timeouts(opciones = {}) ⇒ Hash
privado
Valor timeout_ms configurado a nivel de operación (si lo hay), y/o timeout_ms configurado a nivel de colección/base de datos/cliente (si lo hay).
-
#timeout_ms ⇒ Integer | nil
El valor de timeout_ms que se utilizará para esta operación; se puede especificar como una opción para la vista o heredarse de la colección.
-
#write_concern ⇒ Mongo::WriteConcern
Obtén el nivel de confirmación de escritura (write concern) en este
View.
Métodos incluidos de Writable
#delete_many, #delete_one, #find_one_and_delete, #find_one_and_replace, #find_one_and_update, #replace_one, #update_many, #update_one
Métodos incluidos en Explicable
Métodos incluidos en Readable
#agregado, #permitir_uso_de_disco, #permitir_resultados_parciales, #esperar_datos, #tamaño_de_lote, #comentario, #contar, #contar_documentos, #tipo_de_cursor, #distinto, #conteo_estimado_de_documentos, #pista, #límite, #reducción_de_mapa, #tiempo_máximo_de_espera_ms, #escaneo_máximo, #tiempo_máximo_ms, #valor_máximo, #valor_mín, #modificadores, #sin_tiempo_de_espera_del_cursor, #escaneo_paralelo, #proyección, #leer, #preocupación_de_lectura, #preferencia_de_lectura, #tecla_de_retorno, #mostrar_ubicación_de_disco, #omitir, #instantánea, #ordenar
Métodos incluidos desde Iterable
Métodos incluidos desde Mongo::CursorHost
Detalles del constructor
#initialize(colección, filtro = {}, options = {}) ⇒ Ver
Crea un nuevo View.
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# Archivo 'lib/mongo/collection/view.rb', línea 169 def inicializar(Colección, filtro = {}, = {}) validate_doc!(filtro) filtro = BSON::Documento.Nuevo(filtro) = BSON::Documento.Nuevo() @colección = Colección @operation_timeout_ms = .borrar(:timeout_ms) validate_timeout_mode!() # Esto es cuando los usuarios pasan $query en el filtro y otros modificadores # junto? Consulta = filtro.borrar(Consulta de cifra ($query)) # Esto hace que los modificadores contengan el filtro si el filtro no lo estaba # dado por $query pero como claves de nivel superior, presumiblemente # downstream code ignores non-modifier keys in the modifiers? modifiers = filtro.fusionar(.borrar(:modifiers) || {}) @filtro = (Consulta || filtro).freeze @options = Operación::buscar::desarrolladores::Modifiers.(modifiers).¡unir!().freeze end |
Detalles de los atributos de instancia
#colección ⇒ Colección (solo lectura)
Devuelve el Collection a consultar.
56 57 58 |
# Archivo 'lib/mongo/collection/view.rb', línea 56 def Colección @colección end |
#filtro ⇒ Hash (solo lectura) También conocido como: selector
Devuelve el filtro de query.
59 60 61 |
# Archivo 'lib/mongo/collection/view.rb', línea 59 def filtro @filtro end |
#operation_timeout_ms ⇒ Integer | nil | El valor de timeout_ms que se pasó como una opción a view. (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve un entero | nil | El valor timeout_ms que se pasó como opción a la vista.
81 82 83 |
# Archivo 'lib/mongo/collection/view.rb', línea 81 def operation_timeout_ms @operation_timeout_ms end |
Detalles del método de instancia
#==(otro) ⇒ verdadero, falso También conocido como: eql?
Compara dos objetos View.
92 93 94 95 96 97 |
# Archivo 'lib/mongo/collection/view.rb', línea 92 def ==(Otros) return false a menos que Otros.is_a?(vista) Colección == Otros.Colección && filtro == Otros.filtro && == Otros. end |
#hash ⇒ Integer
Un valor hash para el View compuesto por el namespace de la colección, el hash de las opciones y el hash del filtro.
109 110 111 |
# Archivo 'lib/mongo/collection/view.rb', línea 109 def hash [ Colección.namespace, .hash, filtro.hash ].hash end |
#inspect ⇒ String
Obtén una representación en string legible por humanos de View.
207 208 209 210 |
# Archivo 'lib/mongo/collection/view.rb', línea 207 def inspeccionar "#<Mongo::colección::View:0x#{object_id} namespace='#{colección.namespace}'" + " @filtro=#{filtro.to_s} @options=#{.to_s}>" end |
#tiempos_de_espera_de_operación(opciones = {}) ⇒ Hash
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el valor de timeout_ms establecido a nivel de la operación (si lo hay), y/o timeout_ms que se establece a nivel de colección/base de datos/cliente (si lo hay).
228 229 230 231 232 233 234 235 236 |
# Archivo 'lib/mongo/collection/view.rb', línea 228 def tiempos de espera de operación(opta = {}) {}.tocar hacer |Resultado| si opta[:timeout_ms] || operation_timeout_ms Resultado[:operation_timeout_ms] = opta[:timeout_ms] || operation_timeout_ms else Resultado[:tiempo de espera heredado_ms] = Colección.timeout_ms end end end |
#timeout_ms ⇒ Integer | nil
El valor de timeout_ms que se utilizará para esta operación; se puede especificar como una opción para la vista o heredarse de la colección.
195 196 197 |
# Archivo 'lib/mongo/collection/view.rb', línea 195 def timeout_ms operation_timeout_ms || Colección.timeout_ms end |
#write_concern ⇒ Mongo::WriteConcern
Obtén el nivel de confirmación de escritura (write concern) en este View.
220 221 222 |
# Archivo 'lib/mongo/collection/view.rb', línea 220 def escribir_preocupación Nivel de confirmación de escritura (write concern).Obtener([:escribir_preocupación] || [guardar] || Colección.escribir_preocupación) end |