Clase: Mongo::Database

Hereda:
Objeto
  • Objeto
Mostrar todo
Ampliado por:
Reenviable
Incluye:
Reintentar
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 bajo Namespace

Clases: vista

Colapso delresumen constante

ADMINISTRADOR =

El nombre de la base de datos admin.

Desde:

  • 2.0.0

'admin'.freeze
COMANDO =

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

Desde:

  • 2.0.0

'$cmd'.freeze
DEFAULT_OPTIONS =

Las opciones de base de datos por defecto.

Desde:

  • 2.0.0

opciones::Redactado.Nuevo(:database => ADMIN).freeze
NAME =
Obsoleto.

Constante de campo de nombre de base de datos.

Desde:

  • 2.1.0

'nombre'.freeze
BASES DE DATOS =

Constante de bases de datos.

Desde:

  • 2.1.0

'databases'.freeze
namespace =

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

Desde:

  • 2.0.0

'system.namespaces'.freeze

Resumen de atributos de la instancia colapsar

Resumen del método de clase colapsar

Resumen del método de instancia colapsar

Métodos incluidos en Retryable

#read_worker, #select_server, #write_worker

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

    Las opciones.

Opciones Hash (options):

  • :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á definido, lo que significa que se hereda del cliente.

Aumenta:

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

    Si el nombre es nil.

Desde:

  • 2.0.0



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

def inicializar(Cliente, Nombre, opciones = {})
  propagar Error::InvalidDatabaseName.Nuevo a menos que Nombre
  si Lint.¿habilitado? && !(Nombre.is_a?(String) || Nombre.is_a?(Símbolo))
    propagar "El nombre de la base de datos debe ser un string o un símbolo: #{name}"
  end
  @cliente = Cliente
  @name = Nombre.to_s.freeze
  @options = 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/base de datos.rb', línea 62

def Cliente
  @cliente
end

#nombrestring (solo lectura)

Devuelve el nombre El nombre de la base de datos.

Devuelve:

  • (string)

    nombre El nombre de la base de datos.

Desde:

  • 2.0.0



65
66
67
# Archivo 'lib/mongo/base de datos.rb', línea 65

def Nombre
  @name
end

#opcionesHash (solo lectura)

Devuelve opciones Las opciones.

Devuelve:

  • (encriptada)

    opciones Las opciones.

Desde:

  • 2.0.0



68
69
70
# Archivo 'lib/mongo/base de datos.rb', línea 68

def opciones
  @options
end

Detalles del método de clase

.create(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:

Crea 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/base de datos.rb', línea 543

def sí mismo.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

Verifique la igualdad del objeto de base de datos con otro. Simplemente comprobará si los nombres son iguales.

Ejemplos:

Verifica la igualdad de la base de datos.

database == other

Parámetros:

  • Otros (objeto)

    El objeto con el que comparar.

Devuelve:

  • (verdadero,falso)

    Si los objetos son iguales.

Desde:

  • 2.0.0



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

def ==(Otros)
  return false a menos 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:

Obtén una colección.

database[:users]

Parámetros:

  • nombre_colección (Cadena,Símbolo)

    El nombre de la colección.

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

    Las opciones para la colección.

Devuelve:

Desde:

  • 2.0.0



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

def [](nombre_colección, opciones = {})
  si opciones[API del servidor]
    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(sí mismo, nombre_colección, opciones)
end

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

Realiza una agregación en la base de datos.

Ejemplos:

Realizar una agregación.

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

Parámetros:

  • pipeline (arreglo<Hash>)

    La pipeline de agregación.

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

    Las opciones de agregación.

Opciones Hash (options):

  • permite_uso_de_disco (verdadero, falso)

    Establece en "true" si se permite el uso del disco durante la agregación.

  • :batch_size (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 para usar.

  • :comment (Objeto)

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

  • max_time_ms (Entero)

    La cantidad máxima de tiempo permitida para que se ejecute la query, en milisegundos. Esta opción está obsoleta, utiliza :timeout_ms en su lugar.

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

  • :hint (Cadena)

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

  • :: sesión (Sesión)

    La sesión para usar.

Devuelve:

Desde:

  • 2.10.0



450
451
452
# Archivo 'lib/mongo/base de datos.rb', línea 450

def Agregar(pipeline, opciones = {})
  vista.Nuevo(sí mismo, opciones).Agregar(pipeline, opciones)
end

#clusterMongo::Server

Devuelve Obten el servidor primario del clúster.

Devuelve:

Desde:

  • 2.0.0



80
81
# Archivo 'lib/mongo/base de datos.rb', línea 80

def_delegators :grupo,
Siguiente

#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 a: {})

Opciones Hash (options):

  • :filtrar (Hash)

    Se devolvió un filtro en las colecciones.

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

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

Devuelve:

  • (arreglo<String>)

    Nombres de las colecciones.

Desde:

  • 2.0.0



142
143
144
# Archivo 'lib/mongo/base de datos.rb', línea 142

def nombres_de_colección(opciones = {})
  vista.Nuevo(sí mismo, 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.

Obtén todas las colecciones no 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) (por defecto a: {})

Opciones Hash (options):

  • :filtrar (Hash)

    Se devolvió un filtro en las colecciones.

  • :authorized_collections (verdadero, falso)

    Una bandera que, cuando se establece como verdadera y se utiliza con name_only: true, permite a un usuario sin el privilegio requerido ejecutar el comando cuando se hace cumplir el control de acceso.

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

Devuelve:

Desde:

  • 2.0.0



203
204
205
# Archivo 'lib/mongo/base de datos.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 (encriptada)

    El comando a ejecutar.

  • opta (Hash) (por defecto: {})

    Las opciones de comando.

  • opciones (encriptada)

    un conjunto personalizable de opciones

Opciones Hash (opts):

  • :leer (Hash)

    La preferencia de lectura para este comando.

  • :: sesión (Sesión)

    La sesión para utilizar con este comando.

  • execution_options (Hash)

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

    • :deserialize_as_bson [ Boolean ] Si se debe deserializar la respuesta a este comando usando BSON types en lugar de tipos nativos de Ruby donde 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/base de datos.rb', línea 229

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

  txn_read_pref = si opta[:: sesión] && opta[:: sesión].en_transacción?
    opta[:: sesión].preferencia_de_lectura_txn
  else
    nulo
  end
  txn_read_pref ||= opta[:leer] || ServerSelector::Primario
  Lint.validar_preferencia_de_lectura_de_subrayado(txn_read_pref)
  selector = ServerSelector.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,
        operation_timeouts: tiempos de espera de operación(opta)
      ),
      opciones: opciones_de_ejecución)
  end
end

#descartar(opciones = {}) ⇒ Result

Descartar la base de datos y toda la información asociada a ella.

Ejemplos:

Descartar la base de datos.

database.drop

Parámetros:

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

    Las opciones para la operación.

Opciones Hash (options):

  • :: sesión (Sesión)

    La sesión a utilizar para la operación.

  • :escribir_preocupación (Hash)

    Las opciones de nivel de confirmación de escritura (write concern).

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

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/base de datos.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]
      Nivel de confirmación de escritura (write concern).Obtener(opciones[:escribir_preocupación])
    else
      sí mismo.escribir_preocupación
    end
    Operación::DropDatabase.Nuevo({
      selector: operación,
      nombre_base_datos: Nombre,
      write_concern: escribir_preocupación,
      sesión: sesión
    }).ejecutar(
      siguiente_principal(nulo, sesión),
      context: Operación::Context.Nuevo(
        cliente: Cliente,
        sesión: sesión,
        operation_timeouts: tiempos de espera de operación(opciones)
      )
    )
  end
end

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

Obtenga el "sistema de archivos" Grid para esta base de datos.

Parámetros:

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

    Las opciones de GridFS.

Opciones Hash (options):

  • :bucket_name (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 para usar.

  • guardar (Hash)

    Obsoleto. Equivalente a la opción :write_concern.

  • :escribir_preocupación (Hash)

    Las opciones de nivel de confirmación de escritura (write concern). Puede ser :w => Integer | String, :fsync => booleano, :j => booleano.

Devuelve:

Desde:

  • 2.0.0



404
405
406
# Archivo 'lib/mongo/base de datos.rb', línea 404

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

#inspectString

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

Ejemplos:

Inspecciona la base de datos.

database.inspect

Devuelve:

  • (string)

    La inspección de la base de datos.

Desde:

  • 2.0.0



380
381
382
# Archivo 'lib/mongo/base de datos.rb', línea 380

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

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) (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, que al establecerse en verdadero y usarse con nameOnly: true, permite que un usuario sin el privilegio requerido ejecute el comando cuando se aplique el control de acceso.

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

Devuelve:

  • (arreglo<Hash>)

    Arreglo de hashes de información, uno por cada colección en la base de datos.

Desde:

  • 2.0.5



175
176
177
# Archivo 'lib/mongo/base de datos.rb', línea 175

def list_collections(opciones = {})
  vista.Nuevo(sí mismo, opciones).list_collections(opciones)
end

#operation_timeouts(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.

Devuelve el valor de timeout_ms establecido a nivel de la operación (si lo hay), y/o timeout_ms que se establece a nivel de colección/base de datos/cliente (si lo hay).

Devuelve:

  • (encriptada)

    valor timeout_ms establecido a nivel de operación (si lo hay) y/o timeout_ms establecido a nivel de colecció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/base de datos.rb', línea 560

def tiempos de espera de operación(opta)
  # TODO: Deberíamos volver a evaluar si necesitamos dos tiempos de espera por separado.
  {}.tocar hacer |Resultado|
    si opta[:timeout_ms].nil?
      Resultado[:tiempo de espera heredado_ms] = timeout_ms
    else
      Resultado[:operation_timeout_ms] = opta.borrar(:timeout_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.

Ejecute un comando de lectura en la base de datos, retrying la lectura si es necesario.

Parámetros:

  • operación (encriptada)

    El comando a ejecutar.

  • opta (Hash) (por defecto: {})

    Las opciones de comando.

  • opciones (encriptada)

    un conjunto personalizable de opciones

Opciones Hash (opts):

  • :leer (Hash)

    La preferencia de lectura para este comando.

  • :: sesión (Sesión)

    La sesión para utilizar con este comando.

  • :comment (Objeto)

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

Devuelve:

  • (encriptada)

    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/base de datos.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_txn
  else
    nulo
  end
  txn_read_pref ||= opta[:leer] || ServerSelector::Primario
  Lint.validar_preferencia_de_lectura_de_subrayado(txn_read_pref)
  preferencia = ServerSelector.Obtener(txn_read_pref)

  Cliente.con_sesión(opta) hacer |sesión|
    context = Operación::Context.Nuevo(
      cliente: Cliente,
      sesión: sesión,
      operation_timeouts: tiempos de espera de operación(opta)
    )
    read_with_retry(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/base de datos.rb', línea 552

def timeout_ms
  opciones[:timeout_ms] || Cliente.timeout_ms
end

#usuariosVer::Usuario

Obtener la vista de usuario para esta base de datos.

Ejemplos:

Obtén la vista del usuario.

database.users

Devuelve:

  • (Vista::Usuario) -

    La vista del usuario.

Desde:

  • 2.0.0



416
417
418
# Archivo 'lib/mongo/base de datos.rb', línea 416

def Usuarios
  Autenticación::Usuario::vista.Nuevo(sí mismo)
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 asistente es preferible a ejecutar una agregación sin procesar con una etapa de $changeStream, con el fin de soportar la capacidad de reanudación.

A partir de la versión 3.6 del servidor MongoDB, se admite una etapa de pipeline “$changeStream“ en el framework de agregación. A partir de la versión 4.0, esta etapa permite a los usuarios solicitar que se envíen notificaciones para todos los cambios que ocurran en la base de datos del cliente.

Ejemplos:

Obtén notificaciones de cambios para una determinada base de datos.

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

Parámetros:

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

    Operadores opcionales de filtro adicional.

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

    Las opciones de flujo de cambios.

Opciones Hash (options):

  • :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 "requerido", se comporta de la misma manera que "cuandoDisponible" excepto que se genera un error si la imagen de publicación no está disponible.

  • documento_completo_antes_de_modificar (Cadena)

    Valores permitidos: nil, ‘whenAvailable’ , ‘required’ , ‘off’.

    El valor por defecto es no enviar ningún valor (es decir, nil), que equivale a ‘apagado’ o ‘desactivado’.

    Cuando se configura en 'whenAvailable', establece el flujo de cambios para devolver la preimagen del documento modificado en caso de eventos de reemplazo, actualizar o borrar, 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::Document, Hash)

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

  • ; tiempo_máximo_espera_ms (Entero)

    El tiempo máximo que el servidor espera documentos nuevos para satisfacer una query de flujo de cambios.

  • :batch_size (Entero)

    El número de documentos a devolver por agrupar.

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

    La intercalación para usar.

  • :: sesión (Sesión)

    La sesión para usar.

  • :start_at_operation_time (BSON::Timestamp)

    Solo devuelve los cambios que ocurrieron después de la marca de tiempo especificada. Cualquier comando ejecutado en el servidor devolverá un tiempo de clúster que puede usarse aquí. Solo es reconocido por versiones del servidor 4.0+}.

  • :comment (Objeto)

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

  • :mostrar eventos expandidos (booleano)

    Permite al servidor enviar la lista 'expandida' de eventos de flujo de cambios. La lista de eventos adicionales incluidos con este conjunto de flags son: createIndexes, dropIndexes, modify, create, shardCollection, reshardCollection, 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/base de datos.rb', línea 519

def reloj(pipeline = [], opciones = {})
  view_options = opciones.dup
  view_options[tipo_de_cursor] = tailable_await si opciones[; tiempo_máximo_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