Synopsis
El La utilidadmongofilespermite manipular archivos almacenados en su instancia de MongoDB en objetos GridFS desde la línea de comandos. Es especialmente útil, ya que proporciona una interfaz entre los objetos almacenados en su sistema de archivos y GridFS.
Ejecute desde la línea de mongofiles mongo comandos del sistema, no desde el shell.
Control de versiones
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.14.1 de mongofiles.
Compatibilidad
Compatibilidad de MongoDB Server
mongofiles versión 100.14.1 admite las siguientes versiones del servidor MongoDB:
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.
Soporte de plataforma
mongofiles La versión 100.14.1 es compatible con 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 | ✓ |
Instalación
La herramienta es mongofiles parte del paquete de herramientas de base de datos MongoDB:
➤ Sigue las Guía de instalación de herramientas de base mongofiles de datos para instalar.
Sintaxis
El comando tiene la siguiente mongofiles forma:
mongofiles <options> <connection-string> <command> <filename or _id>
Ejecute desde la línea de mongofiles mongo comandos del sistema, no desde el shell.
Los componentes del comando mongofiles son:
Opciones. Puede seleccionar una o varias de estas opciones para controlar el comportamiento de
mongofiles.Connection String. La cadena de conexión demongod/ paramongosconectarsemongofilescon.Comando. Utilice uno de estos comandos para determinar la acción
mongofilesde.Un identificador que puede ser: el nombre de un archivo en su sistema de archivos local, o un objeto GridFS.
Importante
Para los conjuntos de réplicas, solo puedemongofiles leer desde el conjunto principal.
Acceso requerido
Para conectarse a un que exige mongod autorización con la opción,--auth --username --password debe usar las opciones y. El usuario que se conecta debe poseer, como mínimo:
Comportamiento
FIPS
mongofiles crea automáticamente conexiones compatibles con FIPS a un mongod/mongos que esté configurado para usar el modo FIPS.
preferencia de lectura
De forma predeterminada, mongofiles utiliza primary la preferencia de lectura. Para anular esta opción, puede especificarla en la --readPreference opción de línea de comandos o --uri connection string en.
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.
Nivel de confirmación de escritura
Puede especificar tanto --writeConcern la --uri connection string opción como la. Si se especifica el problema de escritura con ambas opciones, el --writeConcern valor anula el problema de escritura especificado en la cadena URI.
opciones
--helpDevuelve información sobre las opciones y el uso
mongofilesde.
--verbose, -vAumenta 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
-vincluyendo la opción varias veces (por ejemplo,-vvvvv.)
--quietEjecuta en un modo silencioso que intenta limitar la cantidad de
mongofilessalida.Esta opción suprime:
Actividad de replicación
eventos de aceptación de conexión
eventos de cierre de conexión
--versionDevuelve el
mongofilesnúmero de versión.
--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
mongofilesopciones: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
mongofilesarchivo.El archivo de configuración tiene la siguiente estructura:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> Si especifica la
passwordopción sinuriespecificar, puede especificar los demás componentes de la cadena de conexión utilizando lasmongofilesopciones 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
passwordy una cadena de conexión en el campouricon una contraseña conflictiva,mongorestoreresultará en un error.Si especifica un archivo de configuración con
--configy también utiliza las opciones de--passwordlínea de comando, o, la opción de línea de comando--urianula la opción del archivo de--sslPEMKeyPasswordmongofilesconfiguración correspondiente.
--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.0mongofilesde, la cadena de conexión se puede proporcionar alternativamente como un parámetro posicional, sin utilizar la--uriopció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://omongodb+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
--urio 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 stringpueden especificarse alternativamente utilizando sus propias opciones explícitas de línea de comandos, como--usernamey--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 usa en
mongofilesUbuntu,18.04 podría recibir uncannot unmarshal DNSmensaje de error al usar cadenas de conexión SRV (conmongodb+srv://el formato) con la opción.--uriEn ese caso, utilice una de las siguientes opciones:la opción
--uricon una cadena de conexión no SRV (en la formamongodb://)la opción
--hostpara especificar el host al cual conectarse directamente
Advertencia
En algunos sistemas, una contraseña proporcionada en una cadena de conexión con la opción
--uripuede ser visible para programas de estado del sistema comopsque 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
--configpara especificar un archivo de configuración que contenga la contraseña.
--host=<hostname><:port>Especifica un nombre de host resoluble para el
mongodque alberga su sistema GridFS. Por defecto,mongofilesintenta conectarse a un proceso MongoDB que se ejecuta en el puerto local27017.Opcionalmente, especifique un número de puerto para conectar una instancia de MongoDB que se ejecute en un puerto distinto de 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--hosty 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--porty se especifica información conflictiva, dará como resultado un error.
--sslPermite la conexión a un
mongodo a unmongosque 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--ssly 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
.pemque contiene la cadena de certificados raíz de la Autoridad Certificadora. Especifica el nombre del archivo.pemcon rutas relativas o absolutas.Alternativamente, también puedes especificar el archivo
.pemdirectamente en laURI connection string. Proveer una cadena de conexión, mientras también se utiliza--sslCAFiley 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
.pemque contiene tanto el certificado TLS/SSL como la clave. Especifica el nombre del archivo.pemcon rutas relativas o absolutas.Esta opción es obligatoria cuando se utiliza la opción
--sslpara conectarse a unmongodomongosque tieneCAFilehabilitado sinallowConnectionsWithoutCertificates.Alternativamente, también puedes especificar el archivo
.pemdirectamente en laURI connection string. Proveer una cadena de conexión, mientras también se utiliza--sslPEMKeyFiley 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 del certificado (p. ej.,
--sslPEMKeyFile). Use la opción--sslPEMKeyPasswordsolo si el archivo de clave del certificado está cifrado. En todos los casos, la opciónmongofileseliminará la contraseña de todos los registros e informes.Si la clave privada del archivo PEM está cifrada y no se especifica la
--sslPEMKeyPasswordopción, solicitará una contraseña. Consultemongofiles"Contraseña 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--sslPEMKeyPasswordy 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
--sslPEMKeyPasswordpuede ser visible para los programas de estado del sistema, comops, que pueden ser invocados por otros usuarios. En su lugar, considera usar la opción--configpara especificar un archivo de configuración que contenga la contraseña.
--sslCRLFile=<filename>Especifica el archivo
.pemque contiene la Lista de revocación de certificados. Especifica el nombre del archivo.pemcon 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.
--sslAllowInvalidCertificatesOmite las comprobaciones de validación de los certificados de servidor y permite el uso de certificados no válidos. Si utilizas la configuración
allowInvalidCertificates, MongoDB realiza un registro como advertencia del uso del certificado no válido.Advertencia
Aunque está disponible, evita utilizar la opción
--sslAllowInvalidCertificatesen 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
mongodomongossin 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--sslAllowInvalidCertificatesy 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.
--sslAllowInvalidHostnamesDesactiva la validación de nombres de host en certificados TLS/SSL. Permite
mongofilesque se conecte a instancias de MongoDB incluso si el nombre de host en sus certificados no coincide con el 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--sslAllowInvalidHostnamesy 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
--passwordy--authenticationDatabaseopciones.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--usernamey especificar información conflictiva resultará en un error.Si se realiza la conexión a un clúster de MongoDB Atlas con el
MONGODB-AWSauthentication mechanism, se puede especificar la ID de clave de acceso de AWS en:este campo,
la
connection stringola variable de entorno
AWS_ACCESS_KEY_ID.
Consulte Conectarse a un clúster de MongoDB Atlas mediante credenciales de AWS IAM para ver 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
--usernamey--authenticationDatabaseopciones.Para solicitar la contraseña al usuario, pasar la opción
--usernamesin--passwordo 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--passwordy ademas se especifica información conflictiva, resultará en error.Si se realiza la conexión a un clúster MongoDB Atlas con el
authentication mechanismdeMONGODB-AWS, se puede especificar la clave de acceso secreta de AWS en:este campo,
la
connection stringola variable de entorno
AWS_SECRET_ACCESS_KEY.
Consulte Conectarse a un clúster de MongoDB Atlas mediante credenciales de AWS IAM para ver un ejemplo de cada uno.
Advertencia
En algunos sistemas, una contraseña proporcionada directamente mediante la opción
--passwordpuede ser visible para programas de estado del sistema, comops, que pueden ser invocados por otros usuarios. Considera en cambio:omitiendo la opción
--passwordpara recibir una solicitud interactiva de contraseña, outilizando la opción
--configpara 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 mechanismdeMONGODB-AWSy 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:este campo,
el parámetro
AWS_SESSION_TOKENauthMechanismPropertiespara elconnection string, ola variable de entorno
AWS_SESSION_TOKEN.
Consulte Conectarse a un clúster de MongoDB Atlas mediante credenciales de AWS IAM para ver un ejemplo de cada uno.
Solo válido cuando se utiliza el
MONGODB-AWSauthentication mechanism.
--authenticationDatabase=<dbname>Especifica la base de datos de autenticación donde se ha creado el
--usernameespecificado. Consultar la base de datos de autenticación.Si utiliza GSSAPI (Kerberos), PLAIN (LDAP SASL) o
MONGODB-AWSauthentication mechanisms, deberá configurar--authenticationDatabasea$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--authenticationDatabasey ademas se especifica información conflictiva, resultará en error.
--authenticationMechanism=<name>Por defecto: SCRAM-SHA-1
Especifica el mecanismo de autenticación que
mongofilesutiliza la instancia para autenticarse enmongodmongoso.Cambiado en 100.1.0 la versión: A partir de la
100.1.0versión, agrega soporte paramongofileselMONGODB-AWSmecanismo de autenticación al conectarse a un clúster MongoDB Atlas.ValorDescripciónSolicitud de comentarios 5802 Mecanismo de autenticación de respuesta de desafío salado estándar 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-AWSAutenticació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
PLAINpara autenticar a los usuarios de base de datos.PLAINtransmite 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--authenticationMechanismy 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
mongofilesejecutará.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--dby 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.mongofilesasume 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
mongofilespredeterminada.Úselo solo con operaciones put de mongofiles.
--replace, -rModifica 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.
--writeConcern=<document>Por defecto: mayoría
Especifica la preocupación de escritura para cada operación de escritura que
mongofilesrealiza.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--writeConcernanula el nivel de confirmación de escritura especificado en la string URI.
--readPreference=<string|document>Por defecto:
primaryEspecifica la preferencia de
mongofileslectura para. La opción puede--readPreferencetomar: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.
mongofilespor defecto está configurado aprimarypreferencia de lectura.Si la preferencia de lectura también se incluye en la
--uri connection string, la línea de comandos--readPreferenceanula la preferencia de lectura especificada en la string URI.
Comandos
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 GridFS con nombres que coinciden con cualquier parte de
<string>.
put <filename1[ filename2] ...>Copiar el archivo o los archivos especificados del sistema de archivos local al almacenamiento GridFS. Se pueden especificar varios archivos como una lista separada por espacios.
Cada nombre de archivo especificado se refiere al nombre que tendrá el objeto en GridFS, y
mongofilesasume que este refleja el nombre que tiene el archivo en el sistema de archivos local. Si el nombre de archivo local es diferente, use lamongofiles --localopción.
get <filename1[ filename2] ...>Copie el archivo o los 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
mongofilesutilizará este nombre de archivo al escribir en el sistema de archivos local.Si solo se especifica un
filenamepara elgetcomando, se puede usar la--localopción para especificar un nombre de archivo local diferente en el que escribir, si se desea. La--localopción no se puede usar si se especifican más de unfilenamepara elgetcomando.Nota
Para copiar archivos del almacenamiento GridFS que coincidan con una expresión regular, utilice el comando
get_regexen su lugar.
get_id "<_id>"Copia el archivo, especificado por su
<_id>, desde el almacenamiento de GridFS al sistema de archivos local.<_id>hace referencia al JSON extendido_iddel objeto en GridFS.get_idpuede aceptar valores ObjectId o valores que no sean ObjectId para<_id>.mongofilesescribe 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--localopció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 comandoget_regexutiliza expresiones regulares compatibles con Perl ("PCRE") versión 8.42 con compatibilidad con UTF-8.Opcionalmente, puede especificar uno o más
<regex-options>con el--regexOptionsindicador. Estas pueden ser cualquiera de las opciones admitidas por el operador $regex, que incluyen opciones como la distinción entre mayúsculas y minúsculas. Las opciones múltiples deben proporcionarse juntas sin separadores, por ejemplo,.--regexOptions simongofilesguarda 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--localelget_regexcomando.
delete <filename>Eliminar el archivo especificado del almacenamiento GridFS.
delete_id "<_id>"Elimina el archivo, especificado por su
<_id>, del almacenamiento de GridFS.delete_idpuede aceptar valores ObjectId o valores que no sean ObjectId para<_id>.
Ejemplos
Ejecute desde la línea de mongofiles mongo comandos del sistema, no desde el shell.
Para devolver una lista de todos los archivos en una colección GridFS en la records base de datos, utilice la siguiente invocación en el shell del sistema:
mongofiles -d=records list
Esta instanciamongofilesse conectará a la instanciamongodque 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 similar 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 en diferentes puertos o mongod 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 GridFS en la base de datos records, puede 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 enumerar todos los archivos de la colección GridFS en la base de datos records con nombres que comienzan con la cadena 32, puede utilizar 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 con nombres que comienzan con la cadena 32 y terminan con la cadena .lp, puede 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"}'
Debes incluir comillas alrededor del _id.
Conéctese a un clúster de MongoDB Atlas usando credenciales de AWS IAM
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 a través de credenciales de AWS IAM, proporcione un connection string a similar al mongofiles 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.
Como alternativa, la ID de clave de acceso de AWS, la clave de acceso secreta y, opcionalmente, el token de sesión se pueden proporcionar fuera de la cadena de conexión utilizando las --username --passwordopciones, y, de la siguiente --awsSessionToken manera:
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 puede configurar estas credenciales en su plataforma mediante variables de entorno estándar de AWSmongofiles IAM. verifica las siguientes variables de entorno cuando MONGODB-AWS authentication mechanism utiliza:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_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>