Clase: Mongo::Database::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 desde 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 en Retryable

#read_worker, #select_server, #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 (Hash) (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 (Entero)

    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



149
150
151
152
153
154
155
156
157
158
# Archivo 'lib/mongo/database/view.rb', línea 149

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 los atributos de instancia

#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



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

def tamaño del lote
  @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



46
47
48
# Archivo 'lib/mongo/database/view.rb', línea 46

def Colección
  @colección
end

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

Desde:

  • 2.0.0



161
162
163
# Archivo 'lib/mongo/database/view.rb', línea 161

def database
  @database
end

#límiteEntero (solo lectura)

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

Devuelve:

  • (Número entero)

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

Desde:

  • 2.0.0



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

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

Devuelve:

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

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

Desde:

  • 2.0.0



167
168
169
# Archivo 'lib/mongo/database/view.rb', línea 167

def operation_timeout_ms
  @operation_timeout_ms
end

Detalles del método de instancia

#aggregate(pipeline, options = {}) ⇒ Collection::View::Aggregation

Este método forma parte de una API privada. Debe evitarlo 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 (Hash) (por defecto: {})

    Las opciones de agregación.

Devuelve:

Desde:

  • 2.10.0



183
184
185
# Archivo 'lib/mongo/database/view.rb', línea 183

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.

Obtenga todos los nombres de las colecciones que no son 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 (Hash) (por defecto: {})

    Opciones para el comando listCollections.

Opciones Hash (options):

  • :batch_size (Entero)

    El tamaño del lote de los resultados devueltos por el comando listCollections.

  • :filtrar (Hash)

    Se devolvió un filtro en las colecciones.

  • :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 (Entero)

    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
91
92
93
94
95
96
# Archivo 'lib/mongo/database/view.rb', línea 75

def nombres_de_colección(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: tiempos de espera de operación(opciones)
  )
  cursor = leer_con_reintento_cursor(sesión, ServerSelector.primario, sí mismo, context: context) hacer |Server|
    enviar_consulta_inicial(Server, sesión, context, opciones.fusionar(name_only: true))
  end
  cursor.map hacer |información|
    si cursor.resultado inicial.connection_description.Funcionalidades.list_collections_enabled?
      información['nombre']
    else
      (información['nombre'] &&
        información['nombre'].sub("#{@database.name}.", ''))
    end
  end.rechazar hacer |Nombre|
    Nombre.start_with?('system.') || Nombre.incluir?('$')
  end
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 (Hash) (por defecto a: {})

Opciones Hash (options):

  • :filtrar (Hash)

    Se devolvió un filtro en las colecciones.

  • Solo :name (verdadero, falso)

    Indica si el comando debe devolver solo los nombres de colección/vista y el tipo o 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.

    Consulte 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 se debe deserializar este mensaje utilizando tipos BSON en lugar de 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



127
128
129
130
# Archivo 'lib/mongo/database/view.rb', línea 127

def list_collections(opciones = {})
  sesión = Cliente.get_session(opciones)
  collections_info(sesión, ServerSelector.primario, opciones)
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 configurado en el nivel de operación (si corresponde).

Devuelve:

  • (encriptada)

    Valor timeout_ms establecido en el nivel de operación (si lo hay).

Desde:

  • 2.0.0



198
199
200
201
202
203
204
205
206
# Archivo 'lib/mongo/database/view.rb', línea 198

def tiempos de espera de operación(opta = {})
  {}.tocar hacer |Resultado|
    si opta[:timeout_ms] || operation_timeout_ms
      Resultado[:operation_timeout_ms] = opta.borrar(:timeout_ms) || operation_timeout_ms
    else
      Resultado[:tiempo de espera heredado_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



191
192
193
# Archivo 'lib/mongo/database/view.rb', línea 191

def timeout_ms
  operation_timeout_ms || database.timeout_ms
end