Docs Menu
Docs Home
/ /

Métodos

El siguiente documento enumera los métodos disponibles en MongoDB Shell. Haga clic en un método para ver su documentación en el Manual de MongoDB, incluida sintaxis y ejemplos.

Importante

Los métodos que restablecen la conexión del shell al servidor activan una terminación de todas las sesiones abiertas del servidor. Cuando una sesión termina, todas las operaciones en curso se terminan también, y el cliente debe volver a autenticarse si la autenticación está activada.

Los siguientes métodos restablecen la conexión del shell:

  • db.auth

  • Mongo.setReadPref

  • Mongo.setReadConcern

Método
Descripción

Ejecuta un comando en la base de datos admin.

Informa sobre las operaciones en curso.

Finaliza una operación específica.

Cierra el proceso actual de mongod o mongos de forma limpia y segura.

Sincroniza las escrituras en el disco y bloquea la base de datos para evitar operaciones de escritura y facilitar las operaciones de copia de seguridad.

Permite que las escrituras continúen en una base de datos bloqueada con db.fsyncLock().

Los índices de Atlas Search te permiten consultar datos en Atlas Search. Los índices de Atlas Search permiten consultas de búsqueda de texto eficientes al mapear los términos de búsqueda a los documentos que contienen esos términos.

Utilice los siguientes métodos para gestionar los índices de búsqueda de Atlas.

Importante

Los siguientes métodos solo pueden ejecutarse en implementaciones alojadas en MongoDB Atlas.

Nombre
Descripción

Crea uno o más índices de Atlas Search en una colección especificada.

Borra un índice existente de Atlas Search.

Devuelve información sobre los índices de Atlas Search existentes en una colección específica.

Actualiza un índice de búsqueda de Atlas existente.

Método
Descripción

Inicializa y devuelve un nuevo desarrollador de operaciones Bulk() para una colección. El desarrollador crea una lista ordenada de operaciones de escritura que MongoDB ejecuta de forma masiva.

Inicializa y devuelve un nuevo desarrollador de operaciones Bulk() para una colección. El desarrollador crea una lista desordenada de operaciones de escritura que MongoDB ejecuta en bloque.

Crea un generador de operaciones masivas que se utiliza para elaborar una lista de operaciones de escritura que se deben realizar de forma masiva para una sola colección. Para instanciar el desarrollador, utiliza el método db.collection.initializeOrderedBulkOp() o el método db.collection.initializeUnorderedBulkOp().

Ejecuta la lista de operaciones compiladas por el desarrollador de operaciones Bulk().

Especifica una condición del query para una operación de actualización o remoción.

Establece la opción de sugerencia que especifica el índice para brindar soporte a la operación masiva.

Agrega una operación de remoción a una lista de operaciones masivas.

Agrega una operación de remoción de un solo documento a una lista de operaciones masivas.

Agrega una operación de reemplazo de un único documento a una lista de operaciones masivas.

Agrega una sola operación de actualización de documento a una lista de operaciones masivas.

Agrega una operación de actualización múltiple a una lista de operaciones masivas. El método actualiza campos específicos en documentos existentes.

Establece la opción inserción en true para una operación de actualización o de reemplazo.

Devuelve un arreglo de operaciones de escritura ejecutadas a través de Bulk.execute().

Agrega una operación de inserción a una lista de operaciones masivas.

Devuelve un documento JSON que contiene el número de operaciones y agrupaciones en el objeto Bulk().

Devuelve como un string un documento JSON que contiene el número de operaciones y agrupaciones en el objeto Bulk().

Método
Descripción

Proporciona acceso al pipeline de agregación.

Proporciona funcionalidad de operación de guardado masivo.

Obsoleto en mongosh 1.0.6. Utilice db.collection.countDocuments() o en su db.collection.estimatedDocumentCount() lugar.

Devuelve un recuento de la cantidad de documentos en una colección o una vista. Envuelve la etapa de agregación $group con una expresión $sum.

Devuelve un conteo aproximado de los documentos en una colección o una vista.

Crea un índice en una colección.

Compila uno o más índices en una colección.

Devuelve el tamaño de la colección. Envuelve el campo size en la salida del collStats.

Borra un único documento en una colección.

Elimina varios documentos en una colección.

Devuelve un arreglo de documentos que tienen valores distintos para el campo especificado.

Remueve la colección especificada de la base de datos.

Elimina un índice especificado de una colección.

Elimina todos los índices de una colección.

db.collection.ensureIndex()

Devuelve información sobre la ejecución de la query de varios métodos.

Realiza una query en una colección o una vista y devuelve un objeto cursor.

Modifica y devuelve de forma atómica un único documento.

Realiza una query y devuelve un solo documento.

Encuentra un único documento y lo borra.

Encuentra un único documento y lo sustituye.

Encuentra un único documento y lo actualiza.

Devuelve un arreglo de documentos que describen los índices existentes en una colección.

Imprime las estadísticas de distribución de datos para una colección fragmentada.

Devuelve información sobre el estado de los datos en un clúster particionado.

Inserta un nuevo documento en una colección.

Inserta varios documentos nuevos en una colección.

Informa si una colección es una colección con tamaño fijo.

Ejecuta operaciones de agregación map-reduce en una colección.

Reconstruye todos los índices existentes en una colección.

Cambia el nombre de una colección.

Reemplaza un solo documento en una colección.

Informes sobre el estado de una colección. Proporciona un contenedor alrededor del collStats.

Informa el tamaño total utilizado por la colección en bytes. Proporciona un contenedor alrededor del campo storageSize de la salida collStats.

Informa el tamaño total utilizado por los índices en una colección. Proporciona un contenedor alrededor del campo totalIndexSize de la salida collStats.

Informa el tamaño total de una colección, incluidos el tamaño de todos los documentos y todos los índices de una colección.

Modifica un único documento en una colección.

Modifica múltiples documentos en una colección.

Valida una colección.

Abre un cursor de flujo de cambios en la colección.

Método
Descripción

Constructor de JavaScript para instanciar una conexión a una base de datos desde el shell de mongo o desde un archivo de JavaScript.

El método Mongo() tiene los siguientes parámetros:

Parameter
Tipo
Descripción

host

string

Opcional

La cadena de conexión para la conexión a la base de datos de destino.

Si se omite, Mongo() establece una conexión con la interfaz localhost en el puerto por defecto 27017.

autoEncryptionOpts

Documento

Opcional

Nuevo en la versión 4.2.

Parámetros de configuración para activar el cifrado a nivel de campo del lado del cliente.

autoEncryptionOpts anula la configuración existente de cifrado a nivel de campo del lado del cliente de la conexión a la base de datos. Si se omite, Mongo() hereda la configuración de cifrado a nivel de campo del lado del cliente de la conexión a la base de datos actual.

Para obtener documentación sobre el uso y la sintaxis, consulta AutoEncryptionOpts.

Devuelve un objeto de base de datos.

Establece la preferencia de lectura para la conexión de MongoDB.

Abre un cursor de flujo de cambios para un set de réplicas o un clúster para informar sobre todas sus colecciones no pertenecientes al sistema en sus bases de datos, con la excepción de las bases de datos admin, local y config.

Método
Descripción

Agrega indicadores especiales de protocolo de conexión que modifican el comportamiento del query.

Especifica el número máximo de documentos que MongoDB puede devolver al cliente dentro de cada grupo devuelto en un resultado del query. Por defecto, el tamaño inicial del grupo es el menor de 101 documentos o 16 mebibytes (MiB) en documentos. Los grupos subsiguientes tienen un tamaño máximo de 16 MiB. Esta opción puede aplicar un límite menor que 16 MiB, pero no uno mayor. Cuando se establece, batchSize es el menor de batchSize documentos o 16 MiB de documentos.

Un batchSize de 0 significa que el cursor está establecido, pero no se devuelven documentos en el primer agrupamiento.

El siguiente query de ejemplo devuelve resultados en grupos de 100:

db.myCollection.find().batchSize(100)

Cierra un cursor y libera los recursos del servidor asociados.

Especifica la intercalación para el cursor devuelto por el db.collection.find().

Adjunta un comentario a la query para permitir la trazabilidad en los registros y en la colección system.profile.

Modifica el cursor para devolver el número de documentos en el conjunto de resultados en lugar de los documentos mismos.

Informes sobre el plan de ejecución de la query para un cursor.

Aplica una función de JavaScript para cada documento en un cursor.

Devuelve true si el cursor tiene documentos y puede ser iterado.

Obliga a MongoDB a usar un índice específico para una query.

Devuelve true si el cursor está cerrado.

Muestra true si el cursor está cerrado y no quedan objetos en la agrupación.

Calcula el número total de documentos del lado del cliente del cursor al obtener e iterar el conjunto de resultados.

Limita el tamaño del conjunto de resultados de un cursor.

Aplica una función a cada documento en un cursor y recopila los valores de retorno en un arreglo.

Especifica un límite superior exclusivo de los límites del índice para un cursor. Para su uso con cursor.hint()

Especifica un límite de tiempo acumulativo en milisegundos para las operaciones de procesamiento en un cursor.

Especifica un límite inferior inclusivo de los límites del índice para un cursor. Para su uso con cursor.hint()

Devuelve el siguiente documento en un cursor.

Instruye al servidor para que evite cerrar automáticamente un cursor después de un período de inactividad.

Devuelve el número de documentos restantes en la agrupación actual del cursor.

Especifica un nivel de consistencia de lectura para una operación de db.collection.find().

Especifica una preferencia de lectura a un cursor para controlar cómo el cliente dirige el query a un set de réplicas.

Modifica el cursor para devolver las claves del índice en lugar de los documentos.

Añade un campo de ID interno del motor de almacenamiento a cada documento devuelto por el cursor.

Devuelve un conteo de los documentos en el cursor después de aplicar los métodos skip() y limit().

Devuelve un cursor que comienza a devolver resultados solo después de pasar o saltar un número de documentos.

Devuelve los resultados ordenados conforme a una especificación de clasificación.

Marca el cursor como con seguimiento. Solo válido para cursores sobre colecciones con tamaño fijo.

Devuelve un arreglo que contiene todos los documentos devueltos por el cursor.

Método
Descripción

Ejecuta una pipeline de administración/diagnóstico que no requiere una colección subyacente.

Crea una nueva colección o vista.

Crea una vista como resultado de aplicar el pipeline de agregación especificado a la colección o vista de origen.

Muestra el texto de ayuda para el comando de base de datos especificado.

Remueve la base de datos actual.

Devuelve una colección o un objeto de vista. Se utiliza para acceder a colecciones con nombres que no son válidos en el shell de mongo.

Devuelve la información de las colecciones y vistas en la base de datos actual.

Enumera todas las colecciones y vistas en la base de datos actual.

Devuelve la conexión actual de la base de datos.

Devuelve la configuración actual del nivel de verbosidad del registro.

Devuelve el nombre de la base de datos actual.

Devuelve el nivel del perfil actual, la configuración de slowOpThresholdMs y la configuración de slowOpSampleRate.

Proporciona acceso a la base de datos especificada.

Proporciona una lista de todos los comandos de base de datos.

Finaliza una sesión autenticada.

Imprime un informe formateado de la configuración de particionado y la información sobre los fragmentos existentes en un clúster particionado.

Establece un único nivel de verbosidad para los mensajes de registro.

Configura el nivel del perfilador de la base de datos, slowms y sampleRate.

Abre un cursor de flujo de cambios para que una base de datos informe sobre todas sus colecciones que no forman parte del sistema.

Nota

Limitaciones

  • El cifrado automático solo está disponible cuando mongosh está conectado a un clúster de Atlas o a un servidor MongoDB Enterprise. Para obtener más detalles, consulta Cifrado automático. Los métodos enumerados en esta sección se utilizan para el cifrado manual y son compatibles con servidores que no son de tipo empresarial.

  • El cifrado automático no está disponible con la instalación de Homebrew de mongosh.

  • El cifrado a nivel de campo solo está disponible en el binario mongosh y no está disponible en el shell integrado de Compass.

Método
Descripción

Crea una colección con campos cifrados.

Descifra el encryptedValue especificado si la conexión actual a la base de datos se configuró con acceso al Key Management Service (KMS) y al almacén de claves utilizado para cifrar encryptedValue.

Cifra el valor especificado utilizando el encryptionKeyId y el encryptionAlgorithm especificados.

Devuelve el objeto ClientEncryption para la colección actual de la base de datos.

Devuelve el objeto KeyVault para la conexión actual de la base de datos.

Agrega el keyAltName al arreglo keyAltNames de la llave de cifrado de datos con el UUID especificado.

Agrega una llave de cifrado de datos al almacén de claves asociado a la conexión de la base de datos.

Borra una llave de cifrado de datos con el UUID especificado del almacén de claves asociado a la conexión de la base de datos.

Obtiene una llave de cifrado de datos con el UUID especificado. La llave de cifrado de datos debe existir en el almacén de claves asociado a la conexión de la base de datos.

Obtiene todas las claves de cifrado de datos con el keyAltName especificado.

Devuelve todas las llaves de cifrado de datos almacenadas en el almacén de claves asociado a la conexión de la base de datos.

Remueve el keyAltName especificado de la llave de cifrado de datos con el UUID especificado. La llave de cifrado de datos debe existir en el almacén de claves asociado a la conexión de la base de datos.

Método
Descripción

buildInfo()

Devuelve el siguiente documento en formato JSON que describe la información de compilación y dependencias de drivers mongosh:

{
version: '1.10.1',
distributionKind: 'packaged',
buildArch: 'x64',
buildPlatform: 'linux',
buildTarget: 'unknown',
buildTime: '2023-06-21T09:49:37.225Z',
gitVersion: '05ad91b4dd40382a13f27abe1ae8c3f9f52a38f7',
nodeVersion: 'v16.20.1',
opensslVersion: '3.1.1',
sharedOpenssl: true,
runtimeArch: 'x64',
runtimePlatform: 'darwin',
deps: {
nodeDriverVersion: '5.6.0',
libmongocryptVersion: undefined,
libmongocryptNodeBindingsVersion: undefined
}
}

isInteractive()

Devuelve un valor booleano que indica si mongosh se está ejecutando en modo interactivo o en modo de script.

load()

Carga y ejecuta un archivo de JavaScript en el shell.

En mongosh, los scripts cargados con el método load() admiten las variables __filename y __dirname de Nodo.js. Estas variables devuelven el nombre del archivo y el directorio del script cargado, respectivamente. Los valores devueltos son siempre rutas absolutas.

El shell mongo heredado no puede acceder al nombre de archivo ni al directorio de un script en el método load().

print()

Imprime el texto o la variable especificados. print() y printjson() reciben el alias de console.log().

> print("hello world")
hello world
> x = "example text"
> print(x)
example text

quit()

Cierra la sesión de Shell actual.

sleep()

Suspende el shell mongo durante un período de tiempo determinado.

version()

Devuelve la versión actual de la instancia mongosh.

Método
Descripción

Devuelve una interfaz para acceder al objeto de caché del plan del query y a los métodos PlanCache asociados para una colección.

Remueve todos los planes del query almacenados en caché para una colección.

Elimina los planes del query almacenados en caché para la forma del query.

Enumera los métodos disponibles para ver y modificar la caché del plan del query de una colección.

Devuelve un arreglo de entradas de caché de planes para una colección.

Método
Descripción

Agrega un nodo al set de réplicas. Debes conectarte al primario del set de réplicas para ejecutar este método.

Agrega un árbitro a un set de réplicas existente.

Devuelve un documento que contiene la configuración actual del set de réplicas.

Hace que el set de réplicas al que mongosh está conectado sea inelegible para convertirse en primario durante el período especificado. Debes especificar la duración en segundos.

Devuelve el estado del set de réplicas a partir de los datos del oplog.

Inicializa un nuevo set de réplicas.

Devuelve el oplog del set de réplicas al que mongosh está conectado.

Devuelve el oplog del set de réplicas al que mongosh está conectado.

db.printSecondaryReplicationInfo

Devuelve el estado de los secundarios del set de réplicas.

Esto es idéntico al método rs.printSecondaryReplicationInfo().

A continuación se muestra un ejemplo de salida del método rs.printSecondaryReplicationInfo() emitido en un set de réplicas con dos nodos secundarios:

source: rs2.example.net:27017
{
syncedTo: 'Tue Oct 13 2020 09:37:28 GMT-0700 (Pacific Daylight Time)',
replLag: '0 secs (0 hrs) behind the primary '
}
---
source: rs3.example.net:27017
{
syncedTo: 'Tue Oct 13 2020 09:37:28 GMT-0700 (Pacific Daylight Time)',
replLag: '0 secs (0 hrs) behind the primary '
}

rs.printSecondaryReplicationInfo

Devuelve el estado de los secundarios del set de réplicas.

Esto es idéntico al método db.printSecondaryReplicationInfo().

A continuación se muestra un ejemplo de salida del método rs.printSecondaryReplicationInfo() emitido en un set de réplicas con dos nodos secundarios:

source: rs2.example.net:27017
{
syncedTo: 'Tue Oct 13 2020 09:42:18 GMT-0700 (Pacific Daylight Time)',
replLag: '0 secs (0 hrs) behind the primary '
}
---
source: rs3.example.net:27017
{
syncedTo: 'Tue Oct 13 2020 09:42:18 GMT-0700 (Pacific Daylight Time)',
replLag: '0 secs (0 hrs) behind the primary '
}

Modifica la configuración de un set de réplicas existente.

Elimina el nodo especificado por nombre de host del set de réplicas.

Devuelve el estado del set de réplicas al que mongosh está conectado.

Convierte al primario del set de réplicas en un secundario. Debes estar conectado al primario para ejecutar este método.

Restablece el objetivo de sincronización en el set de réplicas especificado por el nombre de host para el set de réplicas al que mongosh está conectado.

Método
Descripción

Crea un rol y especifica sus privilegios.

Borra un rol definido por el usuario.

Borra todos los roles definidos por el usuario asociados con una base de datos.

Devuelve información para el rol especificado.

Devuelve información sobre todos los roles definidos por el usuario en una base de datos.

Asigna privilegios a un rol definido por un usuario.

Remueve los privilegios especificados de un rol definido por el usuario.

Especifica los roles de los cuales un rol definido por el usuario hereda privilegios.

Remueve los roles heredados de un rol.

Actualiza un rol definido por un usuario.

Método
Descripción

Inicia una sesión para la conexión.

Actualiza el tiempo de la operación.

Finaliza la sesión.

Devuelve el tiempo de clúster más reciente según lo visto por la sesión.

Acceda a la base de datos especificada desde la sesión en el shell.

Devuelve la marca de tiempo de la última operación confirmada para la sesión.

Devuelve las opciones para la sesión.

Devuelve un valor booleano que especifica si la sesión ha finalizado.

Las opciones para una sesión en el Shell. Para acceder al objeto SessionOptions(), utilice Session.getOptions().

Método
Descripción

Devuelve un documento que describa el rol de la instancia de mongod.

Si el mongod es un nodo de un set de réplicas, entonces los campos isWritablePrimary y secondary informan si la instancia es el primario o si es un secundario del set de réplicas.

Devuelve un documento con información sobre el sistema que ejecuta la instancia de MongoDB.

Devuelve estadísticas de latencia para una colección especificada.

Devuelve estadísticas de cada colección.

Devuelve un documento que muestra los parámetros de compilación para la instancia de mongod.

Devuelve un documento con información sobre las opciones de ejecución utilizadas para iniciar la instancia de MongoDB.

Devuelve un documento que ofrece una visión general del proceso de la base de datos.

Devuelve un documento que informa sobre el estado de la base de datos actual.

Devuelve la versión de la instancia de mongod.

Método
Descripción

Devuelve un documento que contiene los fragmentos donde se encuentra la colección y si la colección está fragmentada.

Agrega una partición a un clúster particionado.

Se le asigna el alias de sh.addShardToZone().

Asocia una partición con una zona. Admite la configuración de zonas en clústeres particionados.

Se le asigna el alias de sh.updateZoneKeyRange().

Devuelve información sobre si los fragmentos de una colección particionada están equilibrados.

Nuevo en la versión 4.4.

Desactiva la combinación automática de fragmentos para un namespace.

Nuevo en la versión 7.0.

Desactiva la división automática para el clúster particionado.

Desactiva el equilibrio en una sola colección en una base de datos particionada. No afecta el equilibrio de otras colecciones en un clúster.

Desactiva las migraciones de fragmentos para una colección específica en un clúster particionado. Internamente ejecuta el comando setAllowMigrations.

Permite la combinación automática de fragmentos para un namespace.

Nuevo en la versión 7.0.

Activa la división automática para el clúster particionado.

Activa el proceso del balanceador de colecciones particionadas si se ha desactivado previamente mediante sh.disableBalancing().

Activa las migraciones de fragmentos para una colección específica en un clúster particionado previamente desactivadas mediante sh.disableMigrations(). Internamente ejecuta al comando setAllowMigrations.

Permite el particionado en una base de datos específica.

Devuelve un valor booleano para informar si el balanceador está activado actualmente.

Devuelve información sobre la distribución de datos para colecciones particionadas. sh.getShardedDataDistribution() es un método asistente de shell para la etapa del pipeline de agregación $shardedDataDistribution.

Devuelve un valor booleano para informar si el proceso de balanceador está migrando fragmentos actualmente.

Devuelve si un clúster tiene una partición de configuración. Si es así, sh.isConfigShardEnabled() también devuelve información de host y de etiqueta.

Devuelve un arreglo de documentos que describen los fragmentos en un clúster.

Remueve la asociación entre un rango de valores de la clave de partición y una zona..

Elimina la asociación entre un fragmento y una zona.

Remueve la asociación entre una etiqueta y una partición.

Remueve un rango de valores de la clave de partición a una etiqueta de partición creada mediante el método sh.addShardTag(). A este método se le asigna el alias de sh.removeRangeFromZone() en MongoDB 3.4.

Activa o desactiva el balanceador que migra fragmentos entre particiones.

Activa el particionado para una colección.

Divide un fragmento existente en dos fragmentos utilizando un valor específico de la clave de partición como punto de división.

Divide un fragmento existente que contiene un documento que coincide con un query en dos fragmentos aproximadamente iguales.

Activa el AutoMerger.

Nuevo en la versión 7.0.

Permite el balanceador.

Informes sobre el estado de un clúster particionado.

Desactiva el AutoMerger.

Nuevo en la versión 7.0.

Desactiva el balanceador. Esta operación no espera a que el balanceador complete alguna operación en progreso y puede finalizar las operaciones en curso.

Asocia un rango de claves de fragmentación con una zona. Admite la configuración de zonas en clústeres fragmentados.

Estos métodos configuran si mongosh rastrea datos anónimos de telemetría. La telemetría está activada por defecto.

Para obtener más información sobre los datos que mongosh rastrea con la telemetría, consulta Configurar las opciones de telemetría.

Método
Descripción

Desactiva la telemetría para mongosh.

Activa la telemetría para mongosh.

Método
Descripción

Termina una transacción multi-documento y revierte cualquier cambio de datos realizado por las operaciones dentro de la transacción.

Guarda los cambios realizados por las operaciones en una transacción multi-documento y finaliza la transacción.

Inicia una transacción multi-documento asociada a la sesión.

Importante

El método passwordPrompt() actualmente no es compatible en mongosh. Como resultado, al utilizar los siguientes métodos, debe especificar la contraseña como un parámetro:

Método
Descripción

Autentica a un usuario en una base de datos.

Cambia la contraseña de un usuario existente.

Crea un nuevo usuario.

Borra a todos los usuarios asociados con una base de datos.

Elimina un único usuario.

Devuelve información sobre el usuario especificado.

Devuelve información sobre todos los usuarios asociados con una base de datos.

Actualiza los datos de un usuario especificado.

Otorga un rol y sus privilegios a un usuario.

Remueve un rol de un usuario.

Volver

Tipos de datos