Clase: Mongo::Database::View

Hereda:
Objeto
  • Objeto
Mostrar todo
Ampliado por:
Reenviable
Incluye:
Enumerable, Cursor::NonTailable, CursorHost, Reintentable
Definido en:
lib/mongo/database/view.rb

Overview

Una clase que representa una vista de una base de datos.

Desde:

  • 2.0.0

Colapso delresumen de atributos de instancia

Atributos incluidos desde CursorHost

#cursor, #timeout_mode

Colapso del resumen del método de instancia

Métodos incluidos en Cursor::NonTailable

#cursor_type, #timeout_mode

Métodos incluidos desde CursorHost

#validate_timeout_mode!

Métodos incluidos en Retryable

#trabajador_de_lectura, #servidor_de_selección, #trabajador_de_escritura

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) (predeterminado: {})

    Las opciones para configurar la vista.

Opciones Hash(opciones):

  • :timeout_mode (:tiempo de vida del cursor |:iteración)

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

  • :tiempo de espera_ms (Entero)

    El tiempo de espera de la operación en milisegundos. Debe ser un entero positivo. Un valor explícito de 0 significa infinito. El valor predeterminado no está definido, lo que significa que 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
  @tiempo_de_espera_de_operación_ms = opciones.borrar(:tiempo de espera_ms)

  validate_timeout_mode!(opciones)

  @tamaño_de_lote =  nulo
  @limit = nulo
  @recopilación = @database[Database::DOMINIO]
end

Detalles de los atributos de instancia

#batch_sizeEntero (solo lectura)

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

Devuelve:

  • (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
  @tamaño_de_lote
end

#colecciónColección (solo lectura)

Devuelve colección La colección de comandos.

Devuelve:

Desde:

  • 2.0.0



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

def Colección
  @recopilació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:

  • (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 de 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 | nulo | El valor timeout_ms que se pasó como opción a la vista.

Devuelve:

  • (Entero| nulo | El valor de timeout_ms que se pasó como 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 tiempo de espera de operación_ms
  @tiempo_de_espera_de_operación_ms
end

Detalles del método de instancia

#agregado(tubería, opciones = {}) ⇒ Colección::Vista::Agregación

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Ejecutar una agregación en la vista de la base de datos.

Ejemplos:

Documentos agregados.

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

Parámetros:

  • pipeline (Matriz<Hash>)

    La pipeline de agregación.

  • opciones (Hash) (predeterminado: {})

    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(yo, pipeline, opciones)
end

#nombres_de_colección(opciones = {}) ⇒ Array<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) (predeterminado: {})

    Opciones para el comando listCollections.

Opciones Hash(opciones):

  • :tamaño_del_lote (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 como verdadera, permite que un usuario sin el privilegio requerido ejecute el comando cuando se aplica el control de acceso.

  • :comment (Objeto)

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

  • :tiempo de espera_ms (Entero)

    El tiempo de espera de la operación en milisegundos. Debe ser un entero positivo. Un valor explícito de 0 significa infinito. El valor predeterminado no está definido, lo que significa que se hereda de la base de datos o del cliente.

  • :sesión (Sesión)

    La sesión a utilizar.

Devuelve:

  • (Matriz<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 = {})
  @tamaño_de_lote = opciones[:tamaño_del_lote]
  sesión = Cliente.obtener_sesión(opciones)
  context = Operación::Context.Nuevo(
    cliente: Cliente,
    sesión: sesión,
    tiempos de espera de operación: tiempos de espera de operación(opciones)
  )
  cursor = lectura con cursor de reintento(sesión, Selector de servidor.primario, yo, context: context) hacer |Server|
    enviar_consulta_inicial(Server, sesión, context, opciones.unir(name_only: true))
  end
  cursor.map hacer |información|
    Si cursor.resultado inicial.descripción de la conexión.características.¿lista_colecciones_habilitadas?
      información['nombre ']
    else
      (información['nombre '] &&
        información['nombre '].sub("#{@database.name }. ", ''))
    end
  end.rechazar hacer |Nombre|
    Nombre.empezar_con?(' sistema. ') || Nombre.¿incluir?('$')
  end
end

#list_collections(opciones = {}) ⇒ Array<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 MongoDB que cumple la solicitud.

Obtenga información sobre todas las colecciones en la base de datos.

Ejemplos:

Obtenga información sobre cada colección.

database.list_collections

Parámetros:

  • opciones (Hash) (predeterminado: {})

Opciones Hash(opciones):

  • :filtrar (Hash)

    Se devolvió un filtro en las colecciones.

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

    Una bandera, cuando se establece como verdadera y se usa con nameOnly: true, que permite que un usuario sin el privilegio requerido ejecute el comando cuando se aplica 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 a utilizar.

  • :deserializar_como_bson (Booleano)

    Si se debe deserializar este mensaje utilizando tipos BSON en lugar de tipos nativos de Ruby siempre que sea posible.

Devuelve:

  • (Matriz<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 listas_colecciones(opciones = {})
  sesión = Cliente.obtener_sesión(opciones)
  información de colecciones(sesión, Selector de servidor.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 timeout_ms establecido en el nivel de operación (si lo hay).

Devuelve:

  • (Hash)

    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 = {})
  {}.grifo hacer |resultado|
    Si opta[:tiempo de espera_ms] || tiempo de espera de operación_ms
      resultado[:tiempo de espera_de_operación_ms] = opta.borrar(:tiempo de espera_ms) || tiempo de espera de operación_ms
    else
      resultado[:tiempo de espera heredado_ms] = database.tiempo de espera_ms
    end
  end
end

#timeout_msInteger | nil

El valor timeout_ms que se utilizará para esta operación, ya sea especificado como una opción para la vista o heredado de la base de datos.

Devuelve:

  • (Integer | nil)

    el tiempo de espera_ms para esta operación

Desde:

  • 2.0.0



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

def tiempo de espera_ms
  tiempo de espera de operación_ms || database.tiempo de espera_ms
end