Clase: Mongo::base de datos::View

Hereda:
Objeto
  • Objeto
Mostrar todo
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.

Desde:

  • 2.0.0

Resumen de atributos de la instancia colapsar

Atributos incluidos de CursorHost

#cursor, #timeout_mode

Resumen del método de instancia colapsar

Métodos incluidos desde Cursor::NonTailable

#cursor_type, #timeout_mode

Métodos incluidos desde CursorHost

#validate_timeout_mode!

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.

Ejemplos:

Crear la nueva vista de base de datos.

Database::View.new(database)

Parámetros:

  • database (Database)

    La base de datos.

  • opciones (encriptada) (por defecto: {})

    Las opciones para configurar la vista.

Opciones Hash (options):

  • :timeout_mode (:cursor_lifetime | :iteration)

    Cómo interpretar :timeout_ms (si se aplica a la vida útil del cursor o a cada iteración).

  • :timeout_ms (Integer)

    El tiempo de espera de la operación en milisegundos. Debe ser un número entero no negativo. Un valor explícito de 0 significa infinito. El valor por defecto no está establecido, lo que significa que el valor se hereda de la base de datos o del cliente.

Desde:

  • 2.0.0



143
144
145
146
147
148
149
150
151
152
# Archivo 'lib/mongo/database/view.rb', línea 143

def inicializar(database, opciones = {})
  @database = database
  @operation_timeout_ms = opciones.borrar(:timeout_ms)

  validate_timeout_mode!(opciones)

  @batch_size = nulo
  @limit = nulo
  @colección = @database[Database::Comando]
end

Detalles de atributo de instancias

#batch_sizeInteger (solo lectura)

Devuelve batch_size El tamaño del lote de resultados al enviar el comando listCollections.

Devuelve:

  • (Número entero)

    batch_size El tamaño del lote de resultados al enviar el comando listCollections.

Desde:

  • 2.0.0



38
39
40
# Archivo 'lib/mongo/database/view.rb', línea 38

def batch_size
  @batch_size
end

#colecciónColección (solo lectura)

Devuelve colección La colección de comandos.

Devuelve:

  • (colección)

    colección Colección. El comando colección.

Desde:

  • 2.0.0



44
45
46
# Archivo 'lib/mongo/database/view.rb', línea 44

def Colección
  @colección
end

#base de datosobjeto (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.

Desde:

  • 2.0.0



155
156
157
# Archivo 'lib/mongo/database/view.rb', línea 155

def database
  @database
end

#límiteEntero (solo lectura)

Límite de devoluciones El límite al enviar un comando.

Devuelve:

  • (Número entero)

    límite El límite al enviar un comando.

Desde:

  • 2.0.0



41
42
43
# Archivo 'lib/mongo/database/view.rb', línea 41

def limit
  @limit
end

#operation_timeout_msEntero | 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.

Devuelve:

  • (Integer | nil | timeout_ms valor pasado como una opción a la vista.)

    Entero | nil | El valor de timeout_ms que se pasó como opción a la vista.

Desde:

  • 2.0.0



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.

Ejemplos:

Agrupar documentos.

view.aggregate([
  { "$listLocalSessions" => {} }
])

Parámetros:

  • pipeline (arreglo<Hash>)

    La pipeline de agregación.

  • opciones (encriptada) (por defecto: {})

    Las opciones de agregación.

Devuelve:

Desde:

  • 2.10.0



177
178
179
# Archivo 'lib/mongo/database/view.rb', línea 177

def Agregar(pipeline, opciones = {})
  Colección::vista::Agregación.Nuevo(sí mismo, pipeline, opciones)
end

#collection_names(opciones = {}) ⇒ arreglo<String>

Nota:

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.

Parámetros:

  • opciones (encriptada) (por defecto: {})

    Opciones para el comando listCollections.

Opciones Hash (options):

  • :batch_size (Integer)

    El tamaño de agrupar para los resultados devueltos por el comando listCollections.

  • filtro (encriptada)

    Un filtro para las colecciones devueltas.

  • :authorized_collections (verdadero, falso)

    Una bandera, cuando se establece en verdadero, que permite que un usuario sin el privilegio requerido ejecute el comando cuando el control de acceso está habilitado.

  • :comment (objeto)

    Un comentario proporcionado por el usuario para adjuntar a este comando.

  • :timeout_ms (Integer)

    El tiempo de espera de la operación en milisegundos. Debe ser un número entero no negativo. Un valor explícito de 0 significa infinito. El valor por defecto no está establecido, lo que significa que el valor se hereda de la base de datos o del cliente.

  • :: sesión (Sesión)

    La sesión para usar.

Devuelve:

  • (arreglo<String>)

    Los nombres de todas las colecciones que no son del sistema.

Desde:

  • 2.0.0



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(opciones = {})
  @batch_size = opciones[:batch_size]
  sesión = Cliente.get_session(opciones)
  context = Operación::Context.Nuevo(
    cliente: Cliente,
    sesión: sesión,
    operation_timeouts: operation_timeouts(opciones)
  )

  cursor = leer_con_reintento_cursor(sesión, ServerSelector.primario, sí mismo, context: context) hacer |Server|
    send_initial_query(Server, sesión, context, opciones.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>

Nota:

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.

Ejemplos:

Obtener información sobre cada colección.

database.list_collections

Parámetros:

  • opciones (encriptada) (por defecto a: {})

Opciones Hash (options):

  • filtro (encriptada)

    Un filtro para las colecciones devueltas.

  • Solo :name (verdadero, falso)

    Indica si el comando debe devolver solo los nombres y el tipo de colección/vista o si debe devolver tanto el nombre como otra información

  • :authorized_collections (verdadero, falso)

    Un indicador, cuando está activado y se usa con nameOnly: true, que permite que un usuario sin el privilegio requerido ejecute el comando cuando se implementa el control de acceso.

    Consulta https://mongodb.com/es/docs/manual/reference/command/listCollections/ para obtener más información y uso.

  • :: sesión (Sesión)

    La sesión para usar.

  • :deserialize_as_bson (booleano)

    Si deseas deserializar este mensaje usando BSON types en lugar de los tipos nativos de Ruby siempre que sea posible.

Devuelve:

  • (arreglo<Hash>)

    Información de cada colección en la base de datos.

Desde:

  • 2.0.5



121
122
123
124
# Archivo 'lib/mongo/database/view.rb', línea 121

def list_collections(opciones = {})
  sesión = Cliente.get_session(opciones)
  collections_info(sesión, ServerSelector.primario, opciones)
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).

Devuelve:

  • (encriptada)

    valor de timeout_ms configurado a nivel de operación (si lo hay).

Desde:

  • 2.0.0



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_msInteger | 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.

Devuelve:

  • (Integer | nil)

    el timeout_ms para esta operación

Desde:

  • 2.0.0



185
186
187
# Archivo 'lib/mongo/database/view.rb', línea 185

def timeout_ms
  operation_timeout_ms || database.timeout_ms
end