Clase: Mongo::base de datos::View
- Hereda:
-
Objeto
- Objeto
- Mongo::Database::View
- Ampliado por:
- Reenviable
- Incluye:
- Enumerable, Cursor::NonTailable, CursorHost, Retryable
- Definido en:
- lib/mongo/database/view.rb
Overview
Una clase que representa una vista de una base de datos.
Resumen de atributos de la instancia colapsar
-
#lote_tamaño ⇒ Entero
Solo lectura
Batch_size El tamaño del lote de resultados al enviar el comando listCollections.
-
#colección ⇒ Colección
Solo lectura
Colección La colección de comandos.
- #database ⇒ Object Solo lectura privado
-
#limit ⇒ Integer
Solo lectura
Limitar El límite al enviar un comando.
-
#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 CursorHost
Resumen del método de instancia colapsar
-
#aggregate(pipeline, options = {}) ⇒ colección::View::agregación
privado
Ejecute una agregación en la vista de base de datos.
-
#collection_names(options = {}) ⇒ arreglo<String>
Obtener todos los nombres de las colecciones no del sistema en la base de datos.
-
#initialize(database, options = {}) ⇒ View
constructor
Crear la nueva vista de base de datos.
-
#list_collections(options = {}) ⇒ Array<Hash>
Obtener información sobre todas las colecciones de la base de datos.
-
#operation_timeouts(opciones = {}) ⇒ Hash
privado
Valor timeout_ms configurado a nivel de operación (si lo hay).
-
#timeout_ms ⇒ Integer | nil
El valor de timeout_ms a usar para esta operación; especificada como una opción en la vista, o heredada de la base de datos.
Métodos incluidos desde Cursor::NonTailable
Métodos incluidos desde CursorHost
Métodos incluidos de Retryable
#read_worker, #select_server, #with_overload_retry, #write_worker
Detalles del Constructor
#initialize(database, options = {}) ⇒ View
Crear la nueva vista de base de datos.
143 144 145 146 147 148 149 150 151 152 |
# Archivo 'lib/mongo/database/view.rb', línea 143 def inicializar(database, = {}) @database = database @operation_timeout_ms = .borrar(:timeout_ms) validate_timeout_mode!() @batch_size = nulo @limit = nulo @colección = @database[Database::Comando] end |
Detalles de atributo de instancias
#batch_size ⇒ Integer (solo lectura)
Devuelve batch_size El tamaño del lote de resultados al enviar el comando listCollections.
38 39 40 |
# Archivo 'lib/mongo/database/view.rb', línea 38 def batch_size @batch_size end |
#colección ⇒ Colección (solo lectura)
Devuelve colección La colección de comandos.
44 45 46 |
# Archivo 'lib/mongo/database/view.rb', línea 44 def Colección @colección end |
#base de datos ⇒ objeto (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.
155 156 157 |
# Archivo 'lib/mongo/database/view.rb', línea 155 def database @database end |
#límite ⇒ Entero (solo lectura)
Límite de devoluciones El límite al enviar un comando.
41 42 43 |
# Archivo 'lib/mongo/database/view.rb', línea 41 def limit @limit end |
#operation_timeout_ms ⇒ Entero | nulo | El valor timeout_ms que se pasó como opción a la vista. (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.
161 162 163 |
# Archivo 'lib/mongo/database/view.rb', línea 161 def operation_timeout_ms @operation_timeout_ms end |
Detalles del método de instancia
#aggregate(pipeline, options = {}) ⇒ Collection::View::Aggregation
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.
Ejecute una agregación en la vista de base de datos.
177 178 179 |
# Archivo 'lib/mongo/database/view.rb', línea 177 def Agregar(pipeline, = {}) Colección::vista::Agregación.Nuevo(sí mismo, pipeline, ) end |
#collection_names(opciones = {}) ⇒ arreglo<String>
El conjunto de nombres de colecciones devueltos depende de la versión del servidor MongoDB que cumpla con la solicitud.
Obtener todos los nombres de las colecciones no del sistema en la base de datos.
See https://mongodb.com/es/docs/manual/reference/command/listCollections/
for more information and usage.
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# Archivo 'lib/mongo/database/view.rb', línea 75 def collection_names( = {}) @batch_size = [:batch_size] sesión = Cliente.get_session() context = Operación::Context.Nuevo( cliente: Cliente, sesión: sesión, operation_timeouts: operation_timeouts() ) cursor = leer_con_reintento_cursor(sesión, ServerSelector.primario, sí mismo, context: context) hacer |Server| send_initial_query(Server, sesión, context, .fusionar(name_only: true)) end cursor.map { |información| información['nombre'] } .rechazar { |Nombre| Nombre.start_with?('system.') || Nombre.incluir?('$') } end |
#list_collections(options = {}) ⇒ Arreglo<Hash>
El conjunto de colecciones devueltas y el esquema del hash de información por colección dependen de la versión del servidor de MongoDB que atienda la solicitud.
Obtener información sobre todas las colecciones de la base de datos.
121 122 123 124 |
# Archivo 'lib/mongo/database/view.rb', línea 121 def list_collections( = {}) sesión = Cliente.get_session() collections_info(sesión, ServerSelector.primario, ) 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 configurado en el nivel de operación (si corresponde).
192 193 194 195 196 197 198 199 200 |
# Archivo 'lib/mongo/database/view.rb', línea 192 def operation_timeouts(opciones = {}) {}.tocar hacer |Resultado| si opciones[:timeout_ms] || operation_timeout_ms Resultado[:operation_timeout_ms] = opciones.borrar(:timeout_ms) || operation_timeout_ms else Resultado[timeout_inherente_ms] = database.timeout_ms end end end |
#timeout_ms ⇒ Integer | nil
El valor de timeout_ms a usar para esta operación; especificada como una opción en la vista, o heredada de la base de datos.
185 186 187 |
# Archivo 'lib/mongo/database/view.rb', línea 185 def timeout_ms operation_timeout_ms || database.timeout_ms end |