Clase: Mongo::Collection::View
- Hereda:
-
Objeto
- Objeto
- Mongo::colección::View
- 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 de 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 "terminator". Por ejemplo, cuando se llama 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: Constructor, Explicable, Inmutable, Iterable, Legible, Escribible Clases: Agregación, CambioDeFlujo, 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 query. -
#filtro ⇒ Hash (también: #selector)
Solo lectura
El filtro de query.
-
#operation_timeout_ms ⇒ Integer | nil | El valor de timeout_ms que se ha pasado como una opción a la vista.
Solo lectura
privado
Entero | nil | El valor de 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. -
#inspect ⇒ string
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 de Readable
#agregado, #permitir_uso_en_disco, #permitir_resultados_parciales, #esperar_datos, #tamaño_del_lote, #comentario, #cuenta, #contar_documentos, #tipo_de_cursor, #distinto, #conteo_estimado_de_documentos, #pista, #límite, #mapa_reducción, #tiempo_máximo_de_espera_ms, #escaneo_máximo, #tiempo_máximo_ms, #valor_máximo, #valor_mínimo, #modificadores, #sin_tiempo_de_espera_de_cursor, #escanear_en_paralelo, #proyección, #leer, #lectura_de_consistencia, #preferencia_de_lectura, #clave_de_retorno, #mostrar_ubicación_en_disco, #omitir, #snapshot, #ordenar
Métodos incluidos desde Iterable
Métodos incluidos de Mongo::CursorHost
Detalles del Constructor
#initialize(colección, filtro = {}, options = {}) ⇒ Ver
Crea un nuevo View.
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
# Archivo 'lib/mongo/collection/view.rb', línea 170 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).¡Actualizar!().freeze end |
Detalles de atributo de instancias
#colección ⇒ Colección (solo lectura)
Devuelve el Collection a consultar.
54 55 56 |
# Archivo 'lib/mongo/collection/view.rb', línea 54 def Colección @colección end |
#filter ⇒ Hash (solo lectura) También conocido como: selector
Devuelve el filtro de query.
57 58 59 |
# Archivo 'lib/mongo/collection/view.rb', línea 57 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 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.
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
#==(other) ⇒ verdadero, falso También conocido como: eql?
Compara dos objetos View.
92 93 94 95 96 97 98 |
# 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.
110 111 112 |
# Archivo 'lib/mongo/collection/view.rb', línea 110 def hash [ Colección.namespace, .hash, filtro.hash ].hash end |
#inspect ⇒ String
Obtén una representación en string legible por humanos de View.
208 209 210 211 |
# Archivo 'lib/mongo/collection/view.rb', línea 208 def inspeccionar "#<Mongo::colección::View:0x#{object_id} namespace='#{colección.namespace}'" + " @filtro=#{filtro} @options=#{}>" end |
#operation_timeouts(opts = {}) ⇒ Hash
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.
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).
229 230 231 232 233 234 235 236 237 |
# Archivo 'lib/mongo/collection/view.rb', línea 229 def operation_timeouts(opciones = {}) {}.tocar hacer |Resultado| si opciones[:timeout_ms] || operation_timeout_ms Resultado[:operation_timeout_ms] = opciones[:timeout_ms] || operation_timeout_ms else Resultado[timeout_inherente_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.
196 197 198 |
# Archivo 'lib/mongo/collection/view.rb', línea 196 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.
221 222 223 |
# Archivo 'lib/mongo/collection/view.rb', línea 221 def write_concern Nivel de confirmación de escritura (write concern).Obtener([conformidad_de_lectura] || [guardar] || Colección.write_concern) end |