Clase: Mongo::Database

Hereda:
Objeto
  • Objeto
Mostrar todo
Ampliado por:
Reenviable
Incluye:
Reutilizable
Definido en:
lib/mongo/database.rb,
lib/mongo/database/view.rb

Overview

Representa una base de datos en el servidor de base de datos y las operaciones que se pueden ejecutar en ella en este nivel.

Desde:

  • 2.0.0

Definido en el espacio de nombres

Clases: vista

Colapso delresumen constante

ADMINISTRADOR =

El nombre de la base de datos de administración.

Desde:

  • 2.0.0

'administrador'.freeze
COMANDO =

La “colección” sobre la que operan los comandos de base de datos.

Desde:

  • 2.0.0

'$cmd'.freeze
OPCIONES_PREDETERMINADAS =

Las opciones de base de datos predeterminadas.

Desde:

  • 2.0.0

opciones::Redactado.Nuevo(:database => ADMINISTRACIÓN).freeze
NOMBRE =
Obsoleto.

Constante del campo de nombre de base de datos.

Desde:

  • 2.1.0

'nombre '.freeze
BASES DE DATOS =

Bases de datos constantes.

Desde:

  • 2.1.0

'databases'.freeze
ESPACIOS DE NOMBRES =

El nombre de la colección que contiene todos los nombres de colecciones.

Desde:

  • 2.0.0

'sistema.espacios de nombres'.freeze

Colapso delresumen de atributos de instancia

Colapso delresumen del método de clase

Colapso del resumen del método de instancia

Métodos incluidos en Retryable

#trabajador_de_lectura, #servidor_de_selección, #trabajador_de_escritura

Detalles del constructor

#inicializar(cliente, nombre, opciones = {}) ⇒ Base de datos

Crear una instancia de un nuevo objeto de base de datos.

Ejemplos:

Instanciar la base de datos.

Mongo::Database.new(client, :test)

Parámetros:

  • Cliente (Mongo::Cliente)

    El cliente del controlador.

  • Nombre (Cadena,Símbolo)

    El nombre de la base de datos.

  • opciones (Hash) (predeterminado: {})

    Las opciones.

Opciones Hash(opciones):

  • :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 del cliente.

Aumentos:

  • (Mongo::Base de datos::Nombre no válido)

    Si el nombre es nulo.

Desde:

  • 2.0.0



362
363
364
365
366
367
368
369
370
# Archivo 'lib/mongo/database.rb', línea 362

def inicializar(Cliente, Nombre, opciones = {})
  propagar Error::InvalidDatabaseName.Nuevo a no ser que Nombre
  Si Lint.¿activado? && !(Nombre.is_a?(String) || Nombre.is_a?(Símbolo))
    propagar "Elnombre de la base de datos debe ser una cadena o un símbolo: #{nombre}"
  end
  @cliente = Cliente
  @name = Nombre.a_s.freeze
  @opciones = opciones.freeze
end

Detalles de los atributos de instancia

#clienteCliente (solo lectura)

Devuelve el cliente El cliente de la base de datos.

Devuelve:

  • (Cliente) -

    cliente El cliente de la base de datos.

Desde:

  • 2.0.0



62
63
64
# Archivo 'lib/mongo/database.rb', línea 62

def Cliente
  @cliente
end

#nombreCadena (solo lectura)

Devuelve nombre El nombre de la base de datos.

Devuelve:

  • (Cadena) -

    nombre El nombre de la base de datos.

Desde:

  • 2.0.0



65
66
67
# Archivo 'lib/mongo/database.rb', línea 65

def Nombre
  @name
end

#opcionesHash (solo lectura)

Devuelve opciones Las opciones.

Devuelve:

  • (Hash)

    opciones Las opciones.

Desde:

  • 2.0.0



68
69
70
# Archivo 'lib/mongo/database.rb', línea 68

def opciones
  @opciones
end

Detalles del método de clase

.crear(cliente) ⇒ Base de datos

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

Crea una base de datos para el cliente proporcionado, para usarla cuando no queremos que la instancia de base de datos original del cliente sea la misma.

Ejemplos:

Crear una base de datos para el cliente.

Database.create(client)

Parámetros:

  • Cliente (Cliente) -

    El cliente a crear.

Devuelve:

Desde:

  • 2.0.0



543
544
545
546
# Archivo 'lib/mongo/database.rb', línea 543

def yo.Cree(Cliente)
  database = Database.Nuevo(Cliente, Cliente.opciones[:database], Cliente.opciones)
  Cliente.conjunto_de_variables_de_instancia(:@database, database)
end

Detalles del método de instancia

#==(otro) ⇒ true, false

Comprueba la igualdad del objeto de la base de datos con otro. Simplemente verifica si los nombres son iguales.

Ejemplos:

Comprobar la igualdad de la base de datos.

database == other

Parámetros:

  • otros (Objeto) -

    El objeto a comprobar.

Devuelve:

  • (verdadero,falso)

    Si los objetos son iguales.

Desde:

  • 2.0.0



94
95
96
97
# Archivo 'lib/mongo/database.rb', línea 94

def ==(otros)
  return false a no ser que otros.is_a?(Database)
  Nombre == otros.Nombre
end

#[](collection_name, options = {}) ⇒ Mongo::Collection También conocido como: colección

Obtenga una colección en esta base de datos con el nombre proporcionado.

Ejemplos:

Consigue una colección.

database[:users]

Parámetros:

  • nombre_de_colección (Cadena,Símbolo)

    El nombre de la colección.

  • opciones (Hash) (predeterminado: {})

    Las opciones de la colección.

Devuelve:

Desde:

  • 2.0.0



110
111
112
113
114
115
# Archivo 'lib/mongo/database.rb', línea 110

def [](nombre_de_colección, opciones = {})
  Si opciones[:server_api]
    propagar ArgumentError, La opción :server_api no se puede especificar para objetos de colección. Solo se puede especificar en el nivel de cliente.
  end
  Colección.Nuevo(yo, nombre_de_colección, opciones)
end

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

Realizar una agregación en la base de datos.

Ejemplos:

Realizar una agregación.

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

Parámetros:

  • pipeline (Matriz<Hash>)

    La pipeline de agregación.

  • opciones (Hash) (predeterminado: {})

    Las opciones de agregación.

Opciones Hash(opciones):

  • :permitir_uso_de_disco (verdadero,falso)

    Establezca como verdadero si se permite el uso del disco durante la agregación.

  • :tamaño_del_lote (Entero)

    El número de documentos a devolver por agrupar.

  • :omitir validación de documento (verdadero,falso)

    Si omitir o no la validación a nivel de documento.

  • :colación (Hash)

    La intercalación a utilizar.

  • :comment (Objeto)

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

  • :tiempo máximo_ms (Entero)

    El tiempo máximo que se permite ejecutar la consulta, en milisegundos. Esta opción está obsoleta; utilice :timeout_ms en su lugar.

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

  • :hint (Cadena)

    El índice que se utilizará para la agregación.

  • :sesión (Sesión)

    La sesión a utilizar.

Devuelve:

Desde:

  • 2.10.0



450
451
452
# Archivo 'lib/mongo/database.rb', línea 450

def Agregar(pipeline, opciones = {})
  vista.Nuevo(yo, opciones).Agregar(pipeline, opciones)
end

#clusterMongo::Server

Devuelve Obten el servidor primario del clúster.

Devuelve:

  • (Mongo::Servidor)

    Obtenga el servidor principal del clúster.

Desde:

  • 2.0.0



80
81
# Archivo 'lib/mongo/database.rb', línea 80

delegadores def :grupo,
:siguiente_primaria

#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 Hash(opciones):

  • :filtrar (Hash)

    Se devolvió un filtro en las colecciones.

  • :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

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

Devuelve:

  • (Matriz<String>)

    Nombres de las colecciones.

Desde:

  • 2.0.0



142
143
144
# Archivo 'lib/mongo/database.rb', línea 142

def nombres_de_colección(opciones = {})
  vista.Nuevo(yo, opciones).nombres_de_colección(opciones)
end

#colecciones(opciones = {}) ⇒ Array

Nota:

El conjunto de colecciones devueltas depende de la versión del servidor MongoDB que satisface la solicitud.

Obtenga todas las colecciones que no son del sistema que pertenecen a esta base de datos.

See https://mongodb.com/es/docs/manual/reference/command/listCollections/
for more information and usage.

Parámetros:

  • opciones (Hash) (predeterminado: {})

Opciones Hash(opciones):

  • :filtrar (Hash)

    Se devolvió un filtro en las colecciones.

  • :authorized_collections (verdadero,falso)

    Una bandera, cuando se establece como verdadera y se usa con name_only: true, que 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.

Devuelve:

  • (Matriz)

    Las colecciones.

Desde:

  • 2.0.0



203
204
205
# Archivo 'lib/mongo/database.rb', línea 203

def collections(opciones = {})
  nombres_de_colección(opciones).map { |Nombre| Colección(Nombre) }
end

#comando(operación, opts = {}) ⇒ Mongo::Operación::Resultado

Ejecutar un comando en la base de datos.

Ejemplos:

Ejecutar un comando.

database.command(:hello => 1)

Parámetros:

  • operación (Hash)

    El comando a ejecutar.

  • opta (Hash) (predeterminado: {})

    Las opciones del comando.

  • opciones (Hash)

    un conjunto personalizable de opciones

Opciones Hash (opts):

  • :leer (Hash)

    La preferencia de lectura para este comando.

  • :sesión (Sesión)

    La sesión que se utilizará para este comando.

  • :opciones_de_ejecución (Hash)

    Opciones para pasar al código que ejecuta este comando. Esta opción es interna y está sujeta a cambios.

    • :deserialize_as_bson [ Booleano ] Si se debe deserializar la respuesta a este comando utilizando tipos BSON en lugar de tipos nativos de Ruby siempre que sea posible.

Devuelve:

Desde:

  • 2.0.0



229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
# Archivo 'lib/mongo/database.rb', línea 229

def Comando(operación, opta = {})
  opta = opta.dup
  opciones_de_ejecución = opta.borrar(:opciones_de_ejecución) || {}

  txn_read_pref = Si opta[:sesión] && opta[:sesión].¿en_transacción?
    opta[:sesión].preferencia de lectura de txn
  else
    nulo
  end
  txn_read_pref ||= opta[:leer] || Selector de servidor::PRINCIPAL
  Lint.validar_preferencia_de_lectura_de_subrayado(txn_read_pref)
  selector = Selector de servidor.Obtener(txn_read_pref)

  Cliente.con_sesión(opta) hacer |sesión|
    Server = selector.seleccionar_servidor(clúster, nulo, sesión)
    op = Operación::Comando.Nuevo(
      :selector => operación,
      :nombre_de_la_base_de_datos => Nombre,
      :leer => selector,
      :sesión => sesión
    )

    op.ejecutar(Server,
      context: Operación::Context.Nuevo(
        cliente: Cliente,
        sesión: sesión,
        tiempos de espera de operación: tiempos de espera de operación(opta)
      ),
      opciones: opciones_de_ejecución)
  end
end

#drop(opciones = {}) ⇒ Resultado

Eliminar la base de datos y toda su información asociada.

Ejemplos:

Descartar la base de datos.

database.drop

Parámetros:

  • opciones (Hash) (predeterminado: {})

    Las opciones para la operación.

Opciones Hash(opciones):

  • :sesión (Sesión)

    La sesión que se utilizará para la operación.

  • :escribir_preocupación (Hash)

    Las opciones de escritura preocupantes.

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

Devuelve:

  • (Result)

    El resultado del comando.

Desde:

  • 2.0.0



322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
# Archivo 'lib/mongo/database.rb', línea 322

def descartar(opciones = {})
  operación = { :dropDatabase => 1 }
  Cliente.con_sesión(opciones) hacer |sesión|
    escribir_preocupación = Si opciones[:escribir_preocupación]
      Escribir preocupación.Obtener(opciones[:escribir_preocupación])
    else
      yo.escribir_preocupación
    end
    Operación::DropDatabase.Nuevo({
      selector: operación,
      nombre_base_datos: Nombre,
      escribir_preocupación: escribir_preocupación,
      sesión: sesión
    }).ejecutar(
      siguiente_primaria(nulo, sesión),
      context: Operación::Context.Nuevo(
        cliente: Cliente,
        sesión: sesión,
        tiempos de espera de operación: tiempos de espera de operación(opciones)
      )
    )
  end
end

#fs(options = {}) ⇒ Grid::FSBucket

Obtenga el “sistema de archivos” de Grid para esta base de datos.

Parámetros:

  • opciones (Hash) (predeterminado: {})

    Las opciones de GridFS.

Opciones Hash(opciones):

  • :nombre_del_cubo (Cadena)

    El prefijo para las colecciones de archivos y fragmentos.

  • :tamaño_del_fragmento (Entero)

    Anular el tamaño de fragmento por defecto.

  • :nombre_fs (Cadena)

    El prefijo para las colecciones de archivos y fragmentos.

  • :leer (Cadena)

    La preferencia de lectura.

  • :sesión (Sesión)

    La sesión a utilizar.

  • :escribir (Hash)

    Obsoleto. Equivalente a la opción :write_concern.

  • :escribir_preocupación (Hash)

    Las opciones de escritura pueden ser: :w => Entero|Cadena, :fsync => Booleano, :j => Booleano.

Devuelve:

Desde:

  • 2.0.0



404
405
406
# Archivo 'lib/mongo/database.rb', línea 404

def fs(opciones = {})
  Cuadrícula::Buque FS.Nuevo(yo, opciones)
end

#inspeccionarCadena

Obtener una inspección de string impresa bonita para la base de datos.

Ejemplos:

Inspeccionar la base de datos.

database.inspect

Devuelve:

  • (Cadena) -

    La inspección de la base de datos.

Desde:

  • 2.0.0



380
381
382
# Archivo 'lib/mongo/database.rb', línea 380

def inspeccionar
  "#<Mongo::Database:0x#{object_id} nombre=#{nombre}>"
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 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 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.

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

Devuelve:

  • (Matriz<Hash>)

    Matriz de hashes de información, uno para cada colección en la base de datos.

Desde:

  • 2.0.5



175
176
177
# Archivo 'lib/mongo/database.rb', línea 175

def listas_colecciones(opciones = {})
  vista.Nuevo(yo, opciones).listas_colecciones(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) y/o el timeout_ms establecido en el nivel de colección/base de datos/cliente (si lo hay).

Devuelve:

  • (Hash)

    valor timeout_ms establecido en el nivel de operación (si lo hay) y/o timeout_ms establecido en el nivel de recopilación/base de datos/cliente (si lo hay).

Desde:

  • 2.0.0



560
561
562
563
564
565
566
567
568
569
# Archivo 'lib/mongo/database.rb', línea 560

def tiempos de espera de operación(opta)
  # TODO: Deberíamos reevaluar si necesitamos dos tiempos de espera por separado.
  {}.grifo hacer |resultado|
    Si opta[:tiempo de espera_ms].nil?
      resultado[:tiempo de espera heredado_ms] = tiempo de espera_ms
    else
      resultado[:tiempo de espera_de_operación_ms] = opta.borrar(:tiempo de espera_ms)
    end
  end
end

#read_command(operación, opts = {}) ⇒ 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.

Ejecutar un comando de lectura en la base de datos, reintentando la lectura si es necesario.

Parámetros:

  • operación (Hash)

    El comando a ejecutar.

  • opta (Hash) (predeterminado: {})

    Las opciones del comando.

  • opciones (Hash)

    un conjunto personalizable de opciones

Opciones Hash (opts):

  • :leer (Hash)

    La preferencia de lectura para este comando.

  • :sesión (Sesión)

    La sesión que se utilizará para este comando.

  • :comment (Objeto)

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

Devuelve:

  • (Hash)

    El resultado de la ejecución del comando.

Desde:

  • 2.0.0



277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
# Archivo 'lib/mongo/database.rb', línea 277

def comando_de_lectura(operación, opta = {})
  txn_read_pref = Si opta[:sesión] && opta[:sesión].¿en_transacción?
    opta[:sesión].preferencia de lectura de txn
  else
    nulo
  end
  txn_read_pref ||= opta[:leer] || Selector de servidor::PRINCIPAL
  Lint.validar_preferencia_de_lectura_de_subrayado(txn_read_pref)
  preferencia = Selector de servidor.Obtener(txn_read_pref)

  Cliente.con_sesión(opta) hacer |sesión|
    context = Operación::Context.Nuevo(
      cliente: Cliente,
      sesión: sesión,
      tiempos de espera de operación: tiempos de espera de operación(opta)
    )
    lectura_con_reintentar(sesión, preferencia, context) hacer |Server|
      Operación::Comando.Nuevo(
        selector: operación.dup,
        nombre_base_datos: Nombre,
        leer: preferencia,
        sesión: sesión,
        comment: opta[:comment],
      ).ejecutar(Server, context: context)
    end
  end
end

#timeout_msInteger | nil

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 tiempo de espera de la operación correspondiente a esta base de datos o al cliente correspondiente.

Devuelve:

  • (Integer | nil)

    Tiempo de espera de la operación que es para esta base de datos o para el cliente correspondiente.

Desde:

  • 2.0.0



552
553
554
# Archivo 'lib/mongo/database.rb', línea 552

def tiempo de espera_ms
  opciones[:tiempo de espera_ms] || Cliente.tiempo de espera_ms
end

#usuariosVer::Usuario

Obtenga la vista de usuario para esta base de datos.

Ejemplos:

Obtén la vista del usuario.

database.users

Devuelve:

  • (Ver::Usuario)

    La vista del usuario.

Desde:

  • 2.0.0



416
417
418
# Archivo 'lib/mongo/database.rb', línea 416

def Usuarios
  Auth::Usuario::vista.Nuevo(yo)
end

#watch(tubería = [], opciones = {}) ⇒ ChangeStream

Nota:

Un flujo de cambios solo permite el nivel de consistencia de lectura de 'mayoría'.

Nota:

Este método auxiliar es preferible a ejecutar una agregación sin procesar con una etapa $changeStream, con el propósito de soportar la reanudación.

A partir de la versión 3.6 del servidor MongoDB, el marco de agregación admite la etapa de canalización "$changeStream". A partir de la versión 4.0, esta etapa permite a los usuarios solicitar el envío de notificaciones para todos los cambios que se produzcan en la base de datos del cliente.

Ejemplos:

Recibir notificaciones de cambios para una base de datos determinada.

database.watch([{ '$match' => { operationType: { '$in' => ['insert', 'replace'] } } }])

Parámetros:

  • pipeline (Matriz<Hash>) (predeterminado: [])

    Operadores de filtro adicionales opcionales.

  • opciones (Hash) (predeterminado: {})

    Las opciones del flujo de cambios.

Opciones Hash(opciones):

  • :documento_completo (Cadena)

    Valores permitidos: nulo, 'predeterminado', 'updateLookup', 'whenAvailable', 'obligatorio'.

    El valor predeterminado es no enviar ningún valor (es decir, nulo), lo que equivale a "predeterminado". Por defecto, la notificación de cambios para actualizaciones parciales incluirá un delta que describe los cambios en el documento.

    Cuando se configura en 'updateLookup', la notificación de cambio para actualizaciones parciales incluirá tanto un delta que describe los cambios en el documento como una copia del documento completo que se modificó algún tiempo después de que ocurrió el cambio.

    Cuando se establece en 'whenAvailable', configura el flujo de cambios para devolver la imagen posterior del documento modificado para eventos de reemplazo y actualización si la imagen posterior para este evento está disponible.

    Cuando se establece en 'obligatorio', el mismo comportamiento que 'whenAvailable' excepto que se genera un error si la imagen posterior no está disponible.

  • :documento completo antes del cambio (Cadena)

    Valores permitidos: nulo, 'whenAvailable', 'required', 'off'.

    El valor predeterminado es no enviar un valor (es decir, nulo), lo que equivale a "desactivado".

    Cuando se establece en 'whenAvailable', configura el flujo de cambios para devolver la imagen previa del documento modificado para eventos de cambio de reemplazo, actualización y eliminación si está disponible.

    Cuando se establece en 'obligatorio', el mismo comportamiento que 'whenAvailable' excepto que se genera un error si la imagen previa no está disponible.

  • :resume_after (BSON::Documento, Hash)

    Especifica el punto de partida lógico para el nuevo flujo de cambios.

  • :tiempo máximo de espera ms (Entero)

    La cantidad máxima de tiempo que el servidor debe esperar nuevos documentos para satisfacer una consulta de flujo de cambios.

  • :tamaño_del_lote (Entero)

    El número de documentos a devolver por agrupar.

  • :colación (BSON::Documento, Hash)

    La intercalación a utilizar.

  • :sesión (Sesión)

    La sesión a utilizar.

  • :start_at_operation_time (BSON::Marca de tiempo)

    Solo se devuelven los cambios ocurridos después de la fecha y hora especificadas. Cualquier comando ejecutado en el servidor devolverá una hora de clúster que se puede usar aquí. Solo se reconoce en las versiones de servidor 4.0y posteriores.

  • :comment (Objeto)

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

  • :mostrar eventos expandidos (Booleano)

    Permite que el servidor envíe la lista ampliada de eventos del flujo de cambios. La lista de eventos adicionales incluidos con este conjunto de indicadores es: createIndexes, dropIndexes, modify, create, shardCollection, reshardCollection y refineCollectionShardKey.

Devuelve:

  • (Transmisiónde cambios)

    El objeto de flujo de cambio.

Desde:

  • 2.6.0



519
520
521
522
523
524
525
526
527
528
# Archivo 'lib/mongo/database.rb', línea 519

def reloj(pipeline = [], opciones = {})
  view_options = opciones.dup
  view_options[:tipo_de_cursor] = :tailable_await Si opciones[:tiempo máximo de espera ms]

  Mongo::Colección::vista::ChangeStream.Nuevo(
    Mongo::Colección::vista.Nuevo(Colección("#{COMANDO }.aggregate"), {}, view_options),
    pipeline,
    Mongo::Colección::vista::ChangeStream::DATABASE,
    opciones)
end