Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

mongofiles

La mongofiles la utilidad permite manipular archivos almacenados en tu instancia de MongoDB en objetos GridFS desde la línea de comando. Es particularmente útil porque proporciona una interfaz entre los objetos almacenados en tu sistema de archivos y GridFS.

Ejecuta mongofiles desde la línea de comandos del sistema, no desde la shell mongo.

mongofiles ahora se publica por separado del Servidor MongoDB y utiliza su propio sistema de versiones, con una versión inicial 100.0.0 de. Anteriormente, se publicaba junto con el Servidor MongoDB y utilizabamongofiles un sistema de versiones similar.

Nota

Enlaces rápidos a documentación anterior

Esta documentación es para la versión 100.15.0 de mongofiles.

La versión mongofiles 100.15.0 es compatible con las siguientes versiones del MongoDB Server:

  • MongoDB 8.0

  • MongoDB 7.0

  • MongoDB 6.0

  • MongoDB 5.0

  • MongoDB 4.4

  • MongoDB 4.2

Si bien puede funcionar en versiones anteriores del servidor MongoDB, dicha compatibilidad no está mongofiles garantizada.

mongofiles la versión 100.15.0 es compatible en las siguientes plataformas:

x86_64
ARM64
PPC64LE
s390x

Amazon Linux 2023

Amazon 2

Amazon 2013.03+

Debian 12

Debian 11

Debian 10

Debian 9

RHEL / CentOS 9

RHEL / CentOS 8

RHEL / CentOS 7

RHEL / CentOS 6

SUSE 15

SUSE 12

Ubuntu 24.04

Ubuntu 22.04

Ubuntu 20.04

Ubuntu 18.04

Ubuntu 16.04

Windows 11 y versiones posteriores

Windows Server 2016 y versiones posteriores

macOS 11 y versiones posteriores

macOS 10.12 - 10.15

La herramienta mongofiles forma parte del paquete MongoDB Database Tools:

➤ Sigue el Guía de instalación de herramientas de base mongofiles de datos para instalar.

El comando mongofiles tiene la siguiente forma:

mongofiles <options> <connection-string> <command> <filename or _id>

Ejecuta mongofiles desde la línea de comandos del sistema, no desde la shell mongo.

Los componentes del comando mongofiles son:

  1. Opciones. Puede seleccionar una o varias de estas opciones para controlar el comportamiento de mongofiles.

  2. Connection String. La cadena de conexión del mongod / mongos para conectarse con mongofiles.

  3. Comando. Utiliza uno de estos comandos para determinar la acción de mongofiles.

  4. Un identificador que puede ser: el nombre de un archivo en su sistema de archivos local, o un objeto GridFS.

Importante

Para sets de réplicas, mongofiles solo puede leer del primariodel conjunto.

Para conectarse a un mongod que aplica autorización con la opción --auth, debe utilizar las opciones --username y --password. El usuario que se conecta debe tener como mínimo:

  • el read rol para la base de datos accedida al utilizar los comandos list, search o get,

  • el readWrite rol para la base de datos a la que se accede cuando se utilizan los comandos put o delete.

mongofiles crea automáticamente conexiones compatibles con FIPS a un mongod/mongos que está configurado para usar el modo FIPS.

Por defecto, mongofiles utiliza la preferencia de lectura primary. Para reemplazar el valor por defecto, puedes especificar la preferencia de lectura en la opción de línea de comandos --readPreference o en la --uri connection string.

Si especifica la preferencia de lectura en la cadena URI --readPreference y, el --readPreference valor anula la preferencia de lectura especificada en la cadena URI.

Puedes especificar tanto la --writeConcern como la opción --uri connection string. Si se especifica el nivel de confirmación de escritura (write concern) utilizando ambas opciones, el valor --writeConcern anula la configuración de nivel de confirmación de escritura (write concern) indicada en la cadena URI.

--help

Devuelve información sobre las opciones y el uso mongofiles de.

--verbose, -v

Aumenta la cantidad de reportes internos devueltos en la salida estándar o en las entradas de registro. Aumenta el nivel de verbosidad con la forma -v incluyendo la opción varias veces (por ejemplo, -vvvvv.)

--quiet

Ejecuta en un modo silencioso que intenta limitar la cantidad de mongofiles salida.

Esta opción suprime:

--version

Devuelve el número de versión de la mongofiles.

--config=<filename>

Nuevo en la versión 100.3.0.

Especifica la ruta completa a un archivo de configuración YAML que contiene valores confidenciales para las siguientes mongofiles opciones:

Esta es la forma recomendada de especificar una contraseña para, además de especificarla mediante una solicitud de contraseña. Puede usar cualquier combinación de argumentos en el mongofiles archivo.

El archivo de configuración tiene la siguiente estructura:

password: <password>
uri: mongodb://mongodb0.example.com:27017
sslPEMKeyPassword: <password>

Si especifica la password opción sin uri especificar, puede especificar los demás componentes de la cadena de conexión utilizando las mongofiles opciones de línea de comando, como --username --hosty.

Asegúrate de proteger este archivo con los permisos adecuados del sistema de archivos.

Importante

Al utilizar la opción --config, ten en cuenta las siguientes limitaciones y comportamientos:

  • Si proporcionas el campo password y una cadena de conexión en el campo uri con una contraseña conflictiva, mongorestore resultará en un error.

  • Si especificas un archivo de configuración con --config y también usas las opciones de línea de comandos --password, --uri o --sslPEMKeyPassword, mongofiles, la opción de línea de comando invalidará la opción correspondiente del archivo de configuración.

--uri=<connectionString>

Especifica la cadena de conexión URI resoluble de la implementación de MongoDB, entre comillas:

--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

A partir de la versión 100.0 mongofilesde, la cadena de conexión se puede proporcionar alternativamente como un parámetro posicional, sin utilizar la --uri opción:

mongofiles mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

Como parámetro de posicionamiento, la cadena de conexión puede especificarse en cualquier punto de la línea de comandos, siempre que comience con mongodb:// o mongodb+srv://. Por ejemplo:

mongofiles --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl

Solo se puede proporcionar una cadena de conexión. Intentar incluir más de uno, ya sea utilizando la opción --uri o como argumento posicional, resultará en un error.

Para obtener información sobre los componentes de la cadena de conexión, consulta la documentación del formato URI de la cadena de conexión.

Nota

Algunos componentes en el connection string pueden especificarse alternativamente utilizando sus propias opciones explícitas de línea de comandos, como --username y --password. El proveer una cadena de conexión, mientras también se utiliza una opción explícita y se especifica información conflictiva, resultará en error.

Nota

Si se utiliza mongofiles en Ubuntu 18.04, es posible que experimente un mensaje de error cannot unmarshal DNS al utilizar cadenas de conexión SRV (en el formato mongodb+srv://) con la opción --uri. Si es así, utiliza una de las siguientes opciones en su lugar:

Advertencia

En algunos sistemas, una contraseña proporcionada en una cadena de conexión con la opción --uri puede ser visible para programas de estado del sistema como ps que pueden ser invocados por otros usuarios. Considera en cambio:

  • omitir la contraseña en la cadena de conexión para recibir un aviso interactivo de contraseña, o

  • utilizando la opción --config para especificar un archivo de configuración que contenga la contraseña.

--host=<hostname><:port>

Especifica un nombre de host resoluble para elmongodque alberga su sistema GridFS. Por defecto, mongofilesintenta conectarse a un proceso MongoDB que se ejecuta en el puerto local 27017.

Opcionalmente, especifica un número de puerto para conectar una instancia de MongoDB que esté usando un puerto diferente al 27017.

Alternativamente, también puedes especificar el nombre de host directamente en el URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza --host y ademas se especifica información conflictiva, resultará en error.

--port=<port>

Por defecto: 27017

Especifica el puerto TCP en el que la instancia de MongoDB escucha las conexiones de los clientes.

Alternativamente, también puedes especificar el puerto directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --port y se especifica información conflictiva, dará como resultado un error.

--ssl

Permite la conexión a un mongod o a un mongos que tenga habilitado el soporte de TLS/SSL.

Alternativamente, también puedes configurar el soporte TLS/SSL directamente en el URI connection string. Proveer una cadena de conexión, mientras también se utiliza --ssl y se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--sslCAFile=<filename>

Especifica el archivo .pem que contiene la cadena de certificados raíz de la Autoridad Certificadora. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

Alternativamente, también puedes especificar el archivo .pem directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --sslCAFile y se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--sslPEMKeyFile=<filename>

Especifica el archivo .pem que contiene tanto el certificado TLS/SSL como la clave. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

Esta opción es obligatoria cuando se utiliza la opción --ssl para conectarse a un mongod o mongos que tiene CAFile habilitado sin allowConnectionsWithoutCertificates.

Alternativamente, también puedes especificar el archivo .pem directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --sslPEMKeyFile y se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--sslPEMKeyPassword=<value>

Especifica la contraseña para descifrar el archivo de clave de certificado (es decir, --sslPEMKeyFile). Utilice la opción --sslPEMKeyPassword solo si el archivo de certificado y clave está cifrado. En todos los casos, el mongofiles redactará la contraseña de todos los registros y salidas de reporte.

Si la clave privada en el archivo PEM está cifrada y no especifica la opción --sslPEMKeyPassword, mongofiles solicitará una frase clave. Ver Frase de paso del certificado TLS/SSL.

Alternativamente, también puedes especificar la contraseña directamente en la URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza --sslPEMKeyPassword y ademas se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

Advertencia

En algunos sistemas, una contraseña proporcionada directamente mediante la opción --sslPEMKeyPassword puede ser visible para los programas de estado del sistema, como ps, que pueden ser invocados por otros usuarios. En su lugar, considera usar la opción --config para especificar un archivo de configuración que contenga la contraseña.

--sslCRLFile=<filename>

Especifica el archivo .pem que contiene la Lista de revocación de certificados. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--sslAllowInvalidCertificates

Omite las comprobaciones de validación de los certificados de servidor y permite el uso de certificados no válidos. Si utilizas la configuraciónallowInvalidCertificates, MongoDB realiza un registro como advertencia del uso del certificado no válido.

Advertencia

Aunque está disponible, evita utilizar la opción --sslAllowInvalidCertificates en lo posible. Si necesitas usar --sslAllowInvalidCertificates, utiliza únicamente la opción en los sistemas donde no sea posible la intrusión.

Conectarse a una instancia mongod o mongos sin validar los certificados del servidor es un riesgo potencial para la seguridad. Si solo necesitas deshabilitar la validación del nombre de host en los certificados TLS/SSL, consulta --sslAllowInvalidHostnames.

Alternativamente, también puedes deshabilitar la validación del certificado directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --sslAllowInvalidCertificates y se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--sslAllowInvalidHostnames

Desactiva la validación de los nombres de host en los certificados TLS/SSL. Permite que mongofiles se conecte a instancias de MongoDB incluso si el nombre de host en sus certificados no coincide con el nombre de host especificado.

Como alternativa, también puedes desactivar la validación del nombre de host directamente en la URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza --sslAllowInvalidHostnames y ademas se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--username=<username>, -u=<username>

Especifica un nombre de usuario con el cual autenticarte en una base de datos MongoDB que utiliza autenticación. Utilízalo en conjunto con las --password y --authenticationDatabase opciones.

Alternativamente, también puede especificar el nombre de usuario directamente en el URI connection string. Proporcionar una cadena de conexión mientras también se utiliza --username y especificar información conflictiva resultará en un error.

Si se realiza la conexión a un clúster de MongoDB Atlas con el MONGODB-AWS authentication mechanism, se puede especificar la ID de clave de acceso de AWS en:

Consulta Conectar a un clúster Atlas de MongoDB usando credenciales IAM de AWS para un ejemplo de cada uno.

--password=<password>, -p=<password>

Especifica una contraseña con la que autenticarse en una base de datos de MongoDB que utiliza autenticación. Utiliza en conjunto con las --username y --authenticationDatabase opciones.

Para solicitar la contraseña al usuario, pasar la opción --username sin --password o especificar una string vacía como valor de --password, como en --password "" .

Alternativamente, también puedes especificar la contraseña directamente en la URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza --password y ademas se especifica información conflictiva, resultará en error.

Si se realiza la conexión a un clúster MongoDB Atlas con el authentication mechanism de MONGODB-AWS, se puede especificar la clave de acceso secreta de AWS en:

Consulta Conectar a un clúster Atlas de MongoDB usando credenciales IAM de AWS para un ejemplo de cada uno.

Advertencia

En algunos sistemas, una contraseña proporcionada directamente mediante la opción --password puede ser visible para programas de estado del sistema, como ps, que pueden ser invocados por otros usuarios. Considera en cambio:

  • omitiendo la opción --password para recibir una solicitud interactiva de contraseña, o

  • utilizando la opción --config para especificar un archivo de configuración que contenga la contraseña.

--awsSessionToken=<AWS Session Token>

Si se realiza la conexión a un clúster de MongoDB Atlas con el authentication mechanism de MONGODB-AWS y se usan tokens de sesión además de la ID de clave de acceso de AWS y la clave de acceso secreta, se puede especificar el token de sesión de AWS en:

Consulta Conectar a un clúster Atlas de MongoDB usando credenciales IAM de AWS para un ejemplo de cada uno.

Solo válido cuando se utiliza el MONGODB-AWS authentication mechanism.

--authenticationDatabase=<dbname>

Especifica la base de datos de autenticación donde se ha creado el --username especificado. Consultar la base de datos de autenticación.

Si utiliza GSSAPI (Kerberos), PLAIN (LDAP SASL) o MONGODB-AWS authentication mechanisms, debe establecer --authenticationDatabase en $external.

Alternativamente, también puedes especificar la base de datos de autenticación directamente en la URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza --authenticationDatabase y ademas se especifica información conflictiva, resultará en error.

--authenticationMechanism=<name>

Por defecto: SCRAM-SHA-1

Especifica el mecanismo de autenticación que la instancia de mongofiles usa para autenticarse en mongod o mongos.

Cambiado en la versión 100.1.0: A partir de la versión 100.1.0, mongofiles agrega soporte para el mecanismo de autenticación MONGODB-AWS al conectarse a un clúster de MongoDB Atlas.

Valor
Descripción

RFC 5802 mecanismo estándar de autenticación Salted Challenge Response que utiliza la función hash SHA-1.

RFC 7677 estándar del mecanismo de autenticación de respuesta a desafío salado utilizando la función de hash SHA-256.

Se debe establecer featureCompatibilityVersion en 4.0.

Autenticación de certificados TLS/SSL de MongoDB.

MONGODB-AWS

Autenticación externa utilizando credenciales de AWS IAM para conectarse a un clúster de MongoDB Atlas. Consulte Conéctese a un clúster de MongoDB Atlas usando credenciales de AWS IAM.

Nuevo en la versión 100.1.0.

GSSAPI (Kerberos)

Autenticación externa mediante Kerberos. Este mecanismo solo está disponible en MongoDB Enterprise.

PLAIN (SASL LDAP)

Autenticación externa mediante LDAP. También puedes utilizar PLAIN para autenticar a los usuarios de base de datos. PLAIN transmite contraseñas en texto plano. Este mecanismo solo está disponible en MongoDB Enterprise.

Alternativamente, también puedes especificar el mecanismo de autenticación directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --authenticationMechanism y se especifica información conflictiva, resultará en error.

--gssapiServiceName=<serviceName>

Especifica el nombre del servicio mediante GSSAPI/Kerberos. Solo es necesario si el servicio no utiliza el nombre por defecto de mongodb.

Esta opción solo está disponible en MongoDB Enterprise.

--gssapiHostName=<hostname>

Especifica el nombre de host de un servicio utilizando GSSAPI/Kerberos. Solo es necesario si el nombre de host de una máquina no coincide con el nombre de host resuelto por DNS.

Esta opción solo está disponible en MongoDB Enterprise.

--db=<database>, -d=<database>

Especifica el nombre de la base de datos en la que se mongofiles ejecutará.

Alternativamente, también puedes especificar la base de datos directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --db y ademas se especifica información conflictiva, resultará en error.

--local=<filename>, -l=<filename>

Especifica el nombre del sistema de archivos local de un archivo para operaciones de obtención y colocación.

En los comandos mongofiles put y mongofiles get, el modificador requerido <filename> se refiere al nombre que el objeto tendrá en GridFS. mongofiles asume que esto refleja el nombre del archivo en el sistema de archivos local. Esta configuración anula este por defecto.

--type=<MIME>

Proporciona la capacidad de especificar un tipo MIME para describir el archivo insertado en el almacenamiento GridFS. omite esta opción en la operación mongofiles predeterminada.

Úselo solo con operaciones put de mongofiles.

--replace, -r

Modifica el comportamiento de mongofiles put para reemplazar los objetos existentes de GridFS con el archivo local especificado, en lugar de añadir un objeto adicional con el mismo nombre.

En la operación predeterminada, los archivos no se sobrescribirán con una opción put de mongofiles.

--prefix=<string>

Por defecto: fs

Prefijo GridFS a utilizar.

--writeConcern=<document>

Por defecto: mayoría

Especifica la preocupación de escritura para cada operación de escritura que mongofiles realiza.

Especifica el nivel de confirmación de escritura como un documento con opciones w:

--writeConcern="{w:'majority'}"

Si, además, se incluye el nivel de confirmación de escritura en el --uri connection string, la línea de comandos --writeConcern anula el nivel de confirmación de escritura especificado en la string URI.

--readPreference=<string|document>

Por defecto: primary

Especifica la preferencia de lectura para mongofiles. La opción --readPreference puede tomar:

  • Un string si solo se especifica el modo de preferencia de lectura:

    --readPreference=secondary
  • Un documento entre comillas para especificar la moda, los conjuntos de etiquetas de preferencia de lectura opcionales, y el maxStalenessSeconds: opcional.

    --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}'

    Si se especifica el maxStalenessSeconds, el valor debe ser mayor o igual a 90.

mongofiles por defecto está configurado a primary preferencia de lectura.

Si la preferencia de lectura también se incluye en la --uri connection string, la línea de comandos --readPreference anula la preferencia de lectura especificada en la string URI.

list <prefix>

Enumera los archivos del almacén GridFS. Los caracteres especificados después de list (p. ej., <prefix>) limitan opcionalmente la lista de elementos devueltos a los archivos que comienzan con esa cadena de caracteres.

search <string>

Enumera los archivos en el almacén de GridFS cuyos nombres coinciden con cualquier parte de <string>.

put <filename1[ filename2] ...>

Copia el archivo o archivos especificados desde el sistema de archivos local en el almacenamiento de GridFS. Se pueden especificar varios archivos como una lista separada por espacios.

Cada nombre de archivo especificado se refiere al nombre que el objeto tendrá en GridFS, y mongofiles asume que esto refleja el nombre que el archivo tiene en el sistema de archivos local. Si el nombre de archivo local es diferente, utilizar la opción mongofiles --local.

get <filename1[ filename2] ...>

Copia el archivo o archivos especificados desde el almacenamiento GridFS al sistema de archivos local.

Cada nombre de archivo especificado se refiere al nombre que tiene el objeto en GridFS, y mongofiles utilizará este nombre de archivo al escribir en el sistema de archivos local.

Si especifica solo un filename al comando get, puede usar la opción --local para especificar un nombre de archivo local diferente al que guardar, si lo desea. La opción --local no puede utilizarse si se especifica más de un filename en el comando get.

Nota

Para copiar archivos del almacenamiento GridFS que coincidan con una expresión regular, utilice el comando get_regex en su lugar.

get_id "<_id>"

Copia el archivo, especificado por su <_id>, desde el almacenamiento GridFS al sistema de archivos local. <_id> se refiere al JSON extendido _id del objeto en GridFS. get_id puede aceptar valores ObjectId o valores que no sean ObjectId para <_id>.

mongofiles escribe el archivo en el sistema de archivos local usando su nombre en GridFS. Para elegir una ubicación diferente para el archivo en el sistema de archivos local, use la --local opción.

get_regex <regex> --regexOptions <regex-options>

Copiar el archivo o los archivos que coinciden con la expresión <regex> especificada desde el almacenamiento de GridFS al sistema de archivos local. El comando get_regex utiliza expresiones regulares compatibles con Perl ("PCRE") versión 8.42 con compatibilidad con UTF-8.

Opcionalmente, puede especificar uno o más <regex-options> usando la bandera --regexOptions. Estos pueden ser cualquiera de las opciones admitidas por el operador $regex, que incluyen configuraciones como la insensibilidad a mayúsculas. Se deben proporcionar varias opciones juntas sin separadores, por ejemplo, --regexOptions si

mongofiles guarda el archivo o archivos en el sistema de archivos local usando el nombre de archivo coincidente de cada archivo en GridFS. No puedes utilizar la opción con --local el get_regex comando.

delete <filename>

Borrar el archivo especificado del almacenamiento GridFS.

delete_id "<_id>"

Elimina el archivo, especificado por su <_id>, del almacenamiento de GridFS. delete_id puede aceptar valores ObjectId o valores que no sean ObjectId para <_id>.

Ejecuta mongofiles desde la línea de comandos del sistema, no desde la shell mongo.

Para devolver una lista de todos los archivos en una colección GridFS en la base de datos records, utiliza la siguiente llamada en el shell del sistema:

mongofiles -d=records list

Esta mongofiles instancia se conectará a la mongod instancia que se ejecuta en la interfaz localhost 27017 para especificar la misma operación en un puerto o nombre de host diferente, y emitir un comando que se asemeje a uno de los siguientes:

mongofiles --port=37017 -d=records list
mongofiles --host=db1.example.net -d=records list
mongofiles --host=db1.example.net --port=37017 -d=records list

Modifique cualquiera de los siguientes comandos según sea necesario si está conectando las instancias de mongod en diferentes puertos o hosts.

Para cargar un archivo llamado 32-corinth.lp a la colección GridFS en la base de datos records, puede usar el siguiente comando:

mongofiles -d=records put 32-corinth.lp

Para eliminar el archivo 32-corinth.lp de esta colección de GridFS en la base de datos records, puedes utilizar el siguiente comando:

mongofiles -d=records delete 32-corinth.lp

Para buscar archivos en la colección GridFS en la base de datos records que tengan la cadena corinth en sus nombres, puede usar el siguiente comando:

mongofiles -d=records search corinth

Para listar todos los archivos en la colección GridFS en la base de datos records con nombres que comienzan con la string 32, puedes usar el siguiente comando:

mongofiles -d=records list 32

Para obtener el archivo de la colección GridFS en la base de datos records llamada 32-corinth.lp, puede utilizar el siguiente comando:

mongofiles -d=records get 32-corinth.lp

Para obtener todos los archivos de la colección GridFS en la base de datos records cuyos nombres empiezan con la string 32 y terminan con la string .lp, puedes usar el siguiente comando:

mongofiles -d=records get_regex 32*.lp

Para obtener el archivo de la colección GridFS en la base de datos records con _id: ObjectId("56feac751f417d0357e7140f"), puede usar el siguiente comando:

mongofiles -d=records get_id '{"$oid": "56feac751f417d0357e7140f"}'

Debe incluir comillas alrededor de _id.

Nuevo en la versión 100.1.0.

Para conectarse a un clúster de MongoDB Atlas que se ha configurado para admitir la autenticación mediante credenciales de AWS IAM, proporcione un(a) connection string a mongofiles similar al siguiente:

mongofiles 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

Conectarse a Atlas usando credenciales de AWS IAM de esta manera utiliza el MONGODB-AWS authentication mechanism y el $external authSource, como se muestra en este ejemplo.

Si utiliza un token de sesión de AWS, proporciónelo también con el valor AWS_SESSION_TOKEN authMechanismProperties, de la siguiente manera:

mongofiles 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>

Nota

Si el ID de la clave de acceso de AWS, la clave de acceso secreta o el token de sesión incluyen los siguientes caracteres:

: / ? # [ ] @

esos caracteres deben convertirse utilizando codificación por porcentaje.

También se pueden proporcionar la ID de clave de acceso de AWS, la clave de acceso secreta y, opcionalmente, el token de sesión fuera de la cadena de conexión utilizando las opciones --username, --password y --awsSessionToken, que son las siguientes:

mongofiles 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>

Cuando se proporcionan como parámetros de línea de comandos, estas tres opciones no requieren codificación por porcentaje.

También puedes establecer estas credenciales en tu plataforma utilizando las variables de entorno estándar de AWS IAM. mongofiles verifica las siguientes variables de entorno cuando se utiliza el MONGODB-AWS authentication mechanism:

  • AWS_ACCESS_KEY_ID

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

Si se establecen, estas credenciales no necesitan especificarse en la cadena de conexión ni a través de sus opciones explícitas.

Nota

Si se elige usar las variables de entorno de AWS para especificar estos valores, no se pueden mezclar ni combinar con las opciones explícitas o de la cadena de conexión correspondientes para estas credenciales. Se deben utilizar las variables de entorno para el ID de la clave de acceso y la clave de acceso secreta (y el token de sesión si se utiliza), o especificar cada una de estas utilizando las opciones explícitas o de la cadena de conexión.

El siguiente ejemplo establece estas variables de entorno en el shell bash:

export AWS_ACCESS_KEY_ID='<aws access key id>'
export AWS_SECRET_ACCESS_KEY='<aws secret access key>'
export AWS_SESSION_TOKEN='<aws session token>'

La sintaxis para configurar variables de entorno en otros shells será diferente. Consulta la documentación de tu plataforma para obtener más información.

Puedes comprobar que estas variables de entorno se han establecido con el siguiente comando:

env | grep AWS

Una vez configurado, el siguiente ejemplo se conecta a un clúster de MongoDB Atlas usando estas variables de entorno:

mongofiles 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

Volver

Ejemplos

En esta página