Clase: Mongo::base de datos

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 db y las operaciones que se pueden ejecutar en ella a este nivel.

Desde:

  • 2.0.0

Definido bajo Namespace

clase: vista

Resumen de constantes colapsar

ADMIN =

El nombre de la base de datos admin.

Desde:

  • 2.0.0

'admin'
COMANDO =

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

Desde:

  • 2.0.0

'$cmd'
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'
base de datos =

Constante de bases de datos.

Desde:

  • 2.1.0

'databases'
namespace =

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

Desde:

  • 2.0.0

'system.namespaces'

Resumen de atributos de la instancia colapsar

Resumen del método de clase colapsar

Resumen del método de instancia colapsar

Métodos incluidos de Retryable

#read_worker, #select_server, #with_overload_retry, #write_worker

Detalles del Constructor

#initialize(client, name, options = {}) ⇒ Base de datos

Instancie un nuevo objeto de base de datos.

Ejemplos:

Instancia la base de datos.

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

Parámetros:

  • Cliente (Mongo::cliente)

    El cliente driver.

  • Nombre (String, Símbolo)

    El nombre de la base de datos.

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

    Las opciones.

Opciones Hash (options):

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

Aumenta:

  • (Mongo::Database::InvalidName)

    Si el nombre es nil.

Desde:

  • 2.0.0



365
366
367
368
369
370
371
372
373
374
# Archivo 'lib/mongo/base de datos.rb', línea 365

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

  @client = Cliente
  @name = Nombre.to_s.freeze
  @options = opciones.freeze
end

Detalles de atributo de instancias

#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



60
61
62
# Archivo 'lib/mongo/base de datos.rb', línea 60

def Cliente
  @client
end

#nombrestring (solo lectura)

Devuelve el nombre El nombre de la base de datos.

Devuelve:

  • (string)

    name El nombre de la base de datos.

Desde:

  • 2.0.0



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

def Nombre
  @name
end

#opcionesHash (solo lectura)

Devuelve opciones Las opciones.

Devuelve:

  • (encriptada)

    opciones Las opciones.

Desde:

  • 2.0.0



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

def opciones
  @options
end

Detalles del método de clase

.create(cliente) ⇒ Base de datos

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.

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

Ejemplos:

Crea una base de datos para el cliente.

Database.create(client)

Parámetros:

  • Cliente (cliente)

    El cliente para crear.

Devuelve:

Desde:

  • 2.0.0



546
547
548
549
# Archivo 'lib/mongo/base de datos.rb', línea 546

def sí mismo.Cree(Cliente)
  database = Database.Nuevo(Cliente, Cliente.opciones[:database], Cliente.opciones)
  Cliente.instance_variable_set(:@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:

  • (true, false)

    Si los objetos son iguales.

Desde:

  • 2.0.0



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

def ==(Otros)
  return false a menos que Otros.is_a?(Database)

  Nombre == Otros.Nombre
end

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

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

Ejemplos:

Obtén una colección.

database[:users]

Parámetros:

  • nombre_colección (String, Símbolo)

    El nombre de la colección.

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

    Las opciones para la colección.

Devuelve:

Desde:

  • 2.0.0



110
111
112
113
114
115
116
117
# 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 puede ser especificada para los objetos colección. Solo puede ser especificada a 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 (encriptada) (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 (Integer)

    El número de documentos a devolver por agrupar.

  • :evitar_validación_del_documento (verdadero, falso)

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

  • intercalación (encriptada)

    La intercalación para usar.

  • :comment (objeto)

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

  • max_time_ms (Integer)

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

  • :hint (string)

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

  • :: sesión (Sesión)

    La sesión para usar.

Devuelve:

Desde:

  • 2.10.0



454
455
456
# Archivo 'lib/mongo/base de datos.rb', línea 454

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



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

def_delegators clúster,
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.

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

Opciones Hash (options):

  • filtro (encriptada)

    Un filtro para las colecciones devueltas.

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

Devuelve:

  • (arreglo<String>)

    Nombres de las colecciones.

Desde:

  • 2.0.0



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

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

#colecciones(opciones = {}) ⇒ Arreglo<Mongo::Colección>

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

Opciones Hash (options):

  • filtro (encriptada)

    Un filtro para las colecciones devueltas.

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

Devuelve:

Desde:

  • 2.0.0



205
206
207
# Archivo 'lib/mongo/base de datos.rb', línea 205

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

#command(operación, opts = {}) ⇒ Mongo::Operation::Result

Ejecutar un comando en la base de datos.

Ejemplos:

Ejecute un comando.

database.command(:hello => 1)

Parámetros:

  • Operación (encriptada)

    El comando a ejecutar.

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

    Las opciones de comando.

  • opciones (encriptada)

    un conjunto personalizable de opciones

Opciones Hash (opts):

  • :leer (encriptada)

    La preferencia de lectura para este comando.

  • :: sesión (Sesión)

    La sesión para utilizar con este comando.

  • execution_options (encriptada)

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

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

Devuelve:

Desde:

  • 2.0.0



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
260
# Archivo 'lib/mongo/base de datos.rb', línea 231

def Comando(Operación, opciones = {})
  opciones = opciones.dup
  execution_opts = opciones.borrar(execution_options) || {}

  txn_read_pref = (opciones[:: sesión].preferencia_de_lectura_txn si opciones[:: sesión] && opciones[:: sesión].en_transacción?)
  txn_read_pref ||= opciones[:leer] || ServerSelector::Primario
  Lint.validate_underscore_read_preference(txn_read_pref)
  selector = ServerSelector.Obtener(txn_read_pref)

  Cliente.con_sesión(opciones) hacer |sesión|
    context = Operación::Context.Nuevo(
      cliente: Cliente,
      sesión: sesión,
      operation_timeouts: operation_timeouts(opciones)
    )
    op = Operación::Comando.Nuevo(
      selector: Operación,
      db_name: Nombre,
      leer: selector,
      sesión: sesión
    )

    retry_enabled = Cliente.opciones[:retry_reads] != false &&
                    Cliente.opciones[retry_writes] != false
    con_reintento_por_sobrecarga(context: context, retry_enabled: retry_enabled) hacer
      Server = selector.select_server(clúster, nulo, sesión)
      op.ejecutar(Server, context: context, opciones: execution_opts)
    end
  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 (encriptada) (por defecto: {})

    Las opciones para la operación.

Opciones Hash (options):

  • :: sesión (Sesión)

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

  • conformidad_de_lectura (encriptada)

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

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

Devuelve:

  • (Result)

    El resultado del comando.

Desde:

  • 2.0.0



325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
# Archivo 'lib/mongo/base de datos.rb', línea 325

def descartar(opciones = {})
  Operación = { dropDatabase: 1 }
  Cliente.con_sesión(opciones) hacer |sesión|
    write_concern = si opciones[conformidad_de_lectura]
                      Nivel de confirmación de escritura (write concern).Obtener(opciones[conformidad_de_lectura])
                    else
                      sí mismo.write_concern
                    end
    Operación::DropDatabase.Nuevo({
                                  selector: Operación,
                                  db_name: Nombre,
                                  write_concern: write_concern,
                                  sesión: sesión
                                }).ejecutar(
                                  siguiente_principal(nulo, sesión),
                                  context: Operación::Context.Nuevo(
                                    cliente: Cliente,
                                    sesión: sesión,
                                    operation_timeouts: operation_timeouts(opciones)
                                  )
                                )
  end
end

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

Obtén el "sistema de archivos" Grid para esta base de datos.

Parámetros:

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

    Las opciones de GridFS.

Opciones Hash (options):

  • :bucket_name (string)

    El prefijo para las colecciones de archivos y fragmentos.

  • Tamaño del fragmento (Integer)

    Anular el tamaño de fragmento por defecto.

  • :fs_name (string)

    El prefijo para las colecciones de archivos y fragmentos.

  • :leer (string)

    La preferencia de lectura.

  • :: sesión (Sesión)

    La sesión para usar.

  • guardar (encriptada)

    Obsoleto. Equivalente a la opción :write_concern.

  • conformidad_de_lectura (encriptada)

    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



408
409
410
# Archivo 'lib/mongo/base de datos.rb', línea 408

def fs(opciones = {})
  Cuadrícula::FSBucket.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



384
385
386
# Archivo 'lib/mongo/base de datos.rb', línea 384

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

Devuelve:

  • (arreglo<Hash>)

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

Desde:

  • 2.0.5



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

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



563
564
565
566
567
568
569
570
571
572
# Archivo 'lib/mongo/base de datos.rb', línea 563

def operation_timeouts(opciones)
  # TODO: Deberíamos volver a evaluar si necesitamos dos tiempos de espera por separado.
  {}.tocar hacer |Resultado|
    si opciones[:timeout_ms].nil?
      Resultado[timeout_inherente_ms] = timeout_ms
    else
      Resultado[:operation_timeout_ms] = opciones.borrar(:timeout_ms)
    end
  end
end

#read_command(operación, 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.

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.

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

    Las opciones de comando.

Opciones Hash (opts):

  • :leer (encriptada)

    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.

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

  • :op_name (String | nil)

    El nombre de la operación con fines de seguimiento.

Devuelve:

  • (encriptada)

    El resultado de la ejecución del comando.

Desde:

  • 2.0.0



280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# Archivo 'lib/mongo/base de datos.rb', línea 280

def read_command(Operación, opciones = {})
  txn_read_pref = (opciones[:: sesión].preferencia_de_lectura_txn si opciones[:: sesión] && opciones[:: sesión].en_transacción?)
  txn_read_pref ||= opciones[:leer] || ServerSelector::Primario
  Lint.validate_underscore_read_preference(txn_read_pref)
  preferencia = ServerSelector.Obtener(txn_read_pref)

  Cliente.con_sesión(opciones) hacer |sesión|
    context = Operación::Context.Nuevo(
      cliente: Cliente,
      sesión: sesión,
      operation_timeouts: operation_timeouts(opciones)
    )
    Operación = Operación::Comando.Nuevo(
      selector: Operación.dup,
      db_name: Nombre,
      leer: preferencia,
      sesión: sesión,
      comment: opciones[:comment]
    )
    op_name = opciones[:op_name] || 'Comando'
    trazador.trace_operation(Operación, context, op_name: op_name) hacer
      read_with_retry(sesión, preferencia, context) hacer |Server|
        Operación.ejecutar(Server, context: context)
      end
    end
  end
end

#timeout_msInteger | nil

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 Operation timeout que es para esta base de datos o para el 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



555
556
557
# Archivo 'lib/mongo/base de datos.rb', línea 555

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

#usuariosVista::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



420
421
422
# Archivo 'lib/mongo/base de datos.rb', línea 420

def Usuarios
  Autenticación::Usuario::vista.Nuevo(sí mismo)
end

#observar(pipeline = [], options = {}) ⇒ ChangeStream

Nota:

Un flujo de cambios solo permite un nivel de consistencia de lectura "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.

Permite a los usuarios solicitar que se envíen notificaciones por 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>) (valor por defecto: [])

    Operadores opcionales de filtro adicional.

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

    Las opciones de flujo de cambios.

Opciones Hash (options):

  • documento_completo (string)

    Valores permitidos: nil, 'por defecto', 'updateLookup', 'cuando esté disponible', 'requerido'.

    El valor por defecto es no enviar un valor (es decir, nil), el cual es equivalente a 'por defecto'. Por defecto, la notificación de cambio para actualizaciones parciales incluirá un delta que describa los cambios en el documento.

    Cuando se establece en 'updateLookup', la notificación de cambio para actualizaciones parciales incluirá tanto un delta que describe los cambios en el documento como una copia de todo el documento que se modificó en algún momento después de que se haya producido el cambio.

    Cuando se configura en "cuando esté disponible", configura el flujo de cambios para devolver la post-imagen del documento modificado para eventos de cambio de reemplazo y actualización si la post-imagen para este evento está disponible.

    Cuando se establece en 'obligatorio', el comportamiento es el mismo que el de 'whenAvailable', excepto que se produce un error si la imagen de publicación no está disponible.

  • documento_completo_antes_de_modificar (string)

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

    El valor por defecto es no enviar un valor (es decir, nil), que es equivalente a 'apagado'.

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

    Cuando se establece en 'requerido', el mismo comportamiento que "whenAvailable" excepto que se genera un error si la preimagen 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 (Integer)

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

  • :batch_size (Integer)

    El número de documentos a devolver por agrupar.

  • intercalació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 contra el servidor devolverá un tiempo de clúster que se puede usar aquí.

  • :comment (objeto)

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

  • Show expanded events (booleano)

    Permite que el servidor envíe la lista 'ampliada' 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:

  • (ChangeStream)

    El objeto de flujo de cambios.

Desde:

  • 2.6.0



521
522
523
524
525
526
527
528
529
530
531
# Archivo 'lib/mongo/base de datos.rb', línea 521

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("#{COMMAND}.aggregate"), {}, view_options),
    pipeline,
    mongo::Colección::vista::ChangeStream::DATABASE,
    opciones
  )
end