.\" Man page generated from reStructuredText. . .TH "MONGOFILES" "1" "Jun 21, 2018" "4.0" "mongodb-manual" .SH NAME mongofiles \- MongoDB GridFS Utility . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .SS On this page .INDENT 0.0 .IP \(bu 2 \fI\%Synopsis\fP .IP \(bu 2 \fI\%Required Access\fP .IP \(bu 2 \fI\%Options\fP .IP \(bu 2 \fI\%Commands\fP .IP \(bu 2 \fI\%Examples\fP .UNINDENT .INDENT 0.0 .INDENT 3.5 .IP "Mac OSX Sierra and Go 1.6 Incompatibility" .sp Users running on Mac OSX Sierra require the 3.2.10 or newer version of mongofiles\&. .UNINDENT .UNINDENT .SH SYNOPSIS .sp The \fI\%mongofiles\fP utility makes it possible to manipulate files stored in your MongoDB instance in GridFS objects from the command line. It is particularly useful as it provides an interface between objects stored in your file system and GridFS. .sp All \fI\%mongofiles\fP commands have the following form: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongofiles .ft P .fi .UNINDENT .UNINDENT .sp The components of the \fI\%mongofiles\fP command are: .INDENT 0.0 .IP 1. 3 \fI\%Options\fP\&. You may use one or more of these options to control the behavior of \fI\%mongofiles\fP\&. .IP 2. 3 \fI\%Commands\fP\&. Use one of these commands to determine the action of \fI\%mongofiles\fP\&. .IP 3. 3 A filename which is either: the name of a file on your local’s file system, or a GridFS object. .UNINDENT .sp Run \fI\%mongofiles\fP from the system command line, not the \fBmongo\fP shell. .sp \fBIMPORTANT:\fP .INDENT 0.0 .INDENT 3.5 For replica sets, \fI\%mongofiles\fP can only read from the set’s primary\&. .UNINDENT .UNINDENT .SH REQUIRED ACCESS .sp In order to connect to a \fBmongod\fP that enforces authorization with the \fB\-\-auth\fP option, you must use the \fI\%\-\-username\fP and \fI\%\-\-password\fP options. The connecting user must possess, at a minimum: .INDENT 0.0 .IP \(bu 2 the \fBread\fP role for the accessed database when using the \fBlist\fP, \fBsearch\fP or \fBget\fP commands, .IP \(bu 2 the \fBreadWrite\fP role for the accessed database when using the \fBput\fP or \fBdelete\fP commands. .UNINDENT .SH OPTIONS .sp Changed in version 3.0.0: \fI\%mongofiles\fP removed the \fB\-\-dbpath\fP as well as related \fB\-\-directoryperdb\fP and \fB\-\-journal\fP options. To use \fI\%mongofiles\fP, you must run \fI\%mongofiles\fP against a running \fBmongod\fP or \fBmongos\fP instance as appropriate. .INDENT 0.0 .TP .B \-\-help Returns information on the options and use of \fBmongofiles\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-\-verbose, \-v Increases the amount of internal reporting returned on standard output or in log files. Increase the verbosity with the \fB\-v\fP form by including the option multiple times, (e.g. \fB\-vvvvv\fP\&.) .UNINDENT .INDENT 0.0 .TP .B \-\-quiet Runs \fBmongofiles\fP in a quiet mode that attempts to limit the amount of output. .sp This option suppresses: .INDENT 7.0 .IP \(bu 2 output from database commands .IP \(bu 2 replication activity .IP \(bu 2 connection accepted events .IP \(bu 2 connection closed events .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-version Returns the \fBmongofiles\fP release number. .UNINDENT .INDENT 0.0 .TP .B \-\-uri New in version 3.4.6. .sp Specify a resolvable URI connection string for the \fBmongod\fP to which to connect. .sp The following is the standard URI connection scheme: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] .ft P .fi .UNINDENT .UNINDENT .sp For detailed explanations of the components of this string, refer to the Connection String URI Format documentation. .sp \fBIMPORTANT:\fP .INDENT 7.0 .INDENT 3.5 The following \fI\%mongofiles\fP options are incompatible with the \fB\-\-uri\fP option. Instead, specify these options as part of your \fB\-\-uri\fP connection string when applicable: .INDENT 0.0 .IP \(bu 2 \fB\-\-host\fP .IP \(bu 2 \fB\-\-port\fP .IP \(bu 2 \fB\-\-db\fP .IP \(bu 2 \fB\-\-username\fP .IP \(bu 2 \fB\-\-password\fP (when specifying the password as part of the URI connection string) .IP \(bu 2 \fB\-\-authenticationDatabase\fP .IP \(bu 2 \fB\-\-authenticationMechanism\fP .UNINDENT .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-host <:port> Specifies a resolvable hostname for the \fBmongod\fP that holds your GridFS system. By default \fI\%mongofiles\fP attempts to connect to a MongoDB process running on the localhost port number \fB27017\fP\&. .sp Optionally, specify a port number to connect a MongoDB instance running on a port other than 27017. .UNINDENT .INDENT 0.0 .TP .B \-\-port \fIDefault\fP: 27017 .sp Specifies the TCP port on which the MongoDB instance listens for client connections. .UNINDENT .INDENT 0.0 .TP .B \-\-ipv6 \fIRemoved in version 3.0.\fP .sp Enables IPv6 support and allows \fBmongofiles\fP to connect to the MongoDB instance using an IPv6 network. Prior to MongoDB 3.0, you had to specify \fI\%\-\-ipv6\fP to use IPv6. In MongoDB 3.0 and later, IPv6 is always enabled. .UNINDENT .INDENT 0.0 .TP .B \-\-ssl New in version 2.6. .sp Enables connection to a \fBmongod\fP or \fBmongos\fP that has TLS/SSL support enabled. .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslCAFile New in version 2.6. .sp Specifies the \fB\&.pem\fP file that contains the root certificate chain from the Certificate Authority. Specify the file name of the \fB\&.pem\fP file using relative or absolute paths. .sp Starting in version 3.4, if \fB\-\-sslCAFile\fP or \fBssl.CAFile\fP is not specified and you are not using x.509 authentication, the system\-wide CA certificate store will be used when connecting to an TLS/SSL\-enabled server. .sp If using x.509 authentication, \fB\-\-sslCAFile\fP or \fBssl.CAFile\fP must be specified. .sp \fBWARNING:\fP .INDENT 7.0 .INDENT 3.5 \fBVersion 3.2 and earlier:\fP For TLS/SSL connections (\fB\-\-ssl\fP) to \fBmongod\fP and \fBmongos\fP, if the \fBmongofiles\fP runs without the \fI\%\-\-sslCAFile\fP, \fBmongofiles\fP will not attempt to validate the server certificates. This creates a vulnerability to expired \fBmongod\fP and \fBmongos\fP certificates as well as to foreign processes posing as valid \fBmongod\fP or \fBmongos\fP instances. Ensure that you \fIalways\fP specify the CA file to validate the server certificates in cases where intrusion is a possibility. .UNINDENT .UNINDENT .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslPEMKeyFile New in version 2.6. .sp Specifies the \fB\&.pem\fP file that contains both the TLS/SSL certificate and key. Specify the file name of the \fB\&.pem\fP file using relative or absolute paths. .sp This option is required when using the \fI\%\-\-ssl\fP option to connect to a \fBmongod\fP or \fBmongos\fP that has \fBCAFile\fP enabled \fIwithout\fP \fBallowConnectionsWithoutCertificates\fP\&. .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslPEMKeyPassword New in version 2.6. .sp Specifies the password to de\-crypt the certificate\-key file (i.e. \fI\%\-\-sslPEMKeyFile\fP). Use the \fI\%\-\-sslPEMKeyPassword\fP option only if the certificate\-key file is encrypted. In all cases, the \fBmongofiles\fP will redact the password from all logging and reporting output. .sp If the private key in the PEM file is encrypted and you do not specify the \fI\%\-\-sslPEMKeyPassword\fP option, the \fBmongofiles\fP will prompt for a passphrase. See ssl\-certificate\-password\&. .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslCRLFile New in version 2.6. .sp Specifies the \fB\&.pem\fP file that contains the Certificate Revocation List. Specify the file name of the \fB\&.pem\fP file using relative or absolute paths. .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslAllowInvalidCertificates New in version 2.6. .sp Bypasses the validation checks for server certificates and allows the use of invalid certificates. When using the \fBallowInvalidCertificates\fP setting, MongoDB logs as a warning the use of the invalid certificate. .sp Starting in MongoDB 4.0, if you specify \fB\-\-sslAllowInvalidCertificates\fP or \fBssl.allowInvalidCertificates: true\fP when using x.509 authentication, an invalid certificate is only sufficient to establish a TLS/SSL connection but is \fIinsufficient\fP for authentication. .sp \fBWARNING:\fP .INDENT 7.0 .INDENT 3.5 For TLS/SSL connections to \fBmongod\fP and \fBmongos\fP, avoid using \fB\-\-sslAllowInvalidCertificates\fP if possible and only use \fB\-\-sslAllowInvalidCertificates\fP on systems where intrusion is not possible. .sp If the \fBmongo\fP shell (and other mongodb\-tools\-support\-ssl) runs with the \fB\-\-sslAllowInvalidCertificates\fP option, the \fBmongo\fP shell (and other mongodb\-tools\-support\-ssl) will not attempt to validate the server certificates. This creates a vulnerability to expired \fBmongod\fP and \fBmongos\fP certificates as well as to foreign processes posing as valid \fBmongod\fP or \fBmongos\fP instances. .UNINDENT .UNINDENT .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslAllowInvalidHostnames New in version 3.0. .sp Disables the validation of the hostnames in TLS/SSL certificates. Allows \fBmongofiles\fP to connect to MongoDB instances even if the hostname in their certificates do not match the specified hostname. .sp For more information about TLS/SSL and MongoDB, see /tutorial/configure\-ssl and /tutorial/configure\-ssl\-clients . .UNINDENT .INDENT 0.0 .TP .B \-\-sslFIPSMode New in version 2.6. .sp Directs the \fBmongofiles\fP to use the FIPS mode of the installed OpenSSL library. Your system must have a FIPS compliant OpenSSL library to use the \fI\%\-\-sslFIPSMode\fP option. .sp \fBNOTE:\fP .INDENT 7.0 .INDENT 3.5 FIPS\-compatible TLS/SSL is available only in \fI\%MongoDB Enterprise\fP\&. See /tutorial/configure\-fips for more information. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-username , \-u Specifies a username with which to authenticate to a MongoDB database that uses authentication. Use in conjunction with the \fB\-\-password\fP and \fB\-\-authenticationDatabase\fP options. .UNINDENT .INDENT 0.0 .TP .B \-\-password , \-p Specifies a password with which to authenticate to a MongoDB database that uses authentication. Use in conjunction with the \fB\-\-username\fP and \fB\-\-authenticationDatabase\fP options. .sp Changed in version 3.0.0: If you do not specify an argument for \fI\%\-\-password\fP, \fBmongofiles\fP returns an error. .sp Changed in version 3.0.2: If you wish \fBmongofiles\fP to prompt the user for the password, pass the \fI\%\-\-username\fP option without \fI\%\-\-password\fP or specify an empty string as the \fI\%\-\-password\fP value, as in \fB\-\-password ""\fP . .UNINDENT .INDENT 0.0 .TP .B \-\-authenticationDatabase Specifies the database in which the user is created. See user\-authentication\-database\&. .UNINDENT .INDENT 0.0 .TP .B \-\-authenticationMechanism \fIDefault\fP: SCRAM\-SHA\-1 .sp Specifies the authentication mechanism the \fBmongofiles\fP instance uses to authenticate to the \fBmongod\fP or \fBmongos\fP\&. .sp Changed in version 4.0: MongoDB removes support for the deprecated MongoDB Challenge\-Response (\fBMONGODB\-CR\fP) authentication mechanism. .sp MongoDB adds support for SCRAM mechanism using the SHA\-256 hash function (\fBSCRAM\-SHA\-256\fP). .TS center; |l|l|. _ T{ Value T} T{ Description T} _ T{ SCRAM\-SHA\-1 T} T{ \fI\%RFC 5802\fP standard Salted Challenge Response Authentication Mechanism using the SHA\-1 hash function. T} _ T{ SCRAM\-SHA\-256 T} T{ \fI\%RFC 7677\fP standard Salted Challenge Response Authentication Mechanism using the SHA\-256 hash function. .sp Requires featureCompatibilityVersion set to \fB4.0\fP\&. .sp New in version 4.0. T} _ T{ MONGODB\-X509 T} T{ MongoDB TLS/SSL certificate authentication. T} _ T{ GSSAPI (Kerberos) T} T{ External authentication using Kerberos. This mechanism is available only in \fI\%MongoDB Enterprise\fP\&. T} _ T{ PLAIN (LDAP SASL) T} T{ External authentication using LDAP. You can also use \fBPLAIN\fP for authenticating in\-database users. \fBPLAIN\fP transmits passwords in plain text. This mechanism is available only in \fI\%MongoDB Enterprise\fP\&. T} _ .TE .UNINDENT .INDENT 0.0 .TP .B \-\-gssapiServiceName New in version 2.6. .sp Specify the name of the service using GSSAPI/Kerberos\&. Only required if the service does not use the default name of \fBmongodb\fP\&. .sp This option is available only in MongoDB Enterprise. .UNINDENT .INDENT 0.0 .TP .B \-\-gssapiHostName New in version 2.6. .sp Specify the hostname of a service using GSSAPI/Kerberos\&. \fIOnly\fP required if the hostname of a machine does not match the hostname resolved by DNS. .sp This option is available only in MongoDB Enterprise. .UNINDENT .INDENT 0.0 .TP .B \-\-db , \-d Specifies the name of the database on which to run the \fBmongofiles\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-\-collection , \-c This option has no use in this context and a future release may remove it. See \fI\%SERVER\-4931\fP for more information. .UNINDENT .INDENT 0.0 .TP .B \-\-local , \-l Specifies the local filesystem name of a file for get and put operations. .sp In the \fBmongofiles put\fP and \fBmongofiles get\fP commands, the required \fB\fP modifier refers to the name the object will have in GridFS. \fI\%mongofiles\fP assumes that this reflects the file’s name on the local file system. This setting overrides this default. .UNINDENT .INDENT 0.0 .TP .B \-\-type Provides the ability to specify a MIME type to describe the file inserted into GridFS storage. \fI\%mongofiles\fP omits this option in the default operation. .sp Use only with \fBmongofiles put\fP operations. .UNINDENT .INDENT 0.0 .TP .B \-\-replace, \-r Alters the behavior of \fBmongofiles put\fP to replace existing GridFS objects with the specified local file, rather than adding an additional object with the same name. .sp In the default operation, files will not be overwritten by a \fBmongofiles put\fP option. .UNINDENT .INDENT 0.0 .TP .B \-\-prefix string \fIDefault\fP: fs .sp GridFS prefix to use. .UNINDENT .INDENT 0.0 .TP .B \-\-writeConcern \fIDefault\fP: majority .sp Specifies the write concern for each write operation that \fBmongofiles\fP writes to the target database. .sp Specify the write concern as a document with w options\&. .UNINDENT .SH COMMANDS .INDENT 0.0 .TP .B list Lists the files in the GridFS store. The characters specified after \fBlist\fP (e.g. \fB\fP) optionally limit the list of returned items to files that begin with that string of characters. .UNINDENT .INDENT 0.0 .TP .B search Lists the files in the GridFS store with names that match any portion of \fB\fP\&. .UNINDENT .INDENT 0.0 .TP .B put Copy the specified file from the local file system into GridFS storage. .sp Here, \fB\fP refers to the name the object will have in GridFS, and \fI\%mongofiles\fP assumes that this reflects the name the file has on the local file system. If the local filename is different use the \fI\%mongofiles \-\-local\fP option. .UNINDENT .INDENT 0.0 .TP .B get Copy the specified file from GridFS storage to the local file system. .sp Here, \fB\fP refers to the name the object will have in GridFS. \fI\%mongofiles\fP writes the file to the local file system using the file’s \fBfilename\fP in GridFS. To choose a different location for the file on the local file system, use the \fI\%\-\-local\fP option. .UNINDENT .INDENT 0.0 .TP .B get_id "" New in version 3.2.0. .sp Copy the specified file from GridFS storage to the local file system. .sp Here \fB\fP refers to the extended JSON \fB_id\fP of the object in GridFS. \fI\%mongofiles\fP writes the file to the local file system using the file’s \fBfilename\fP in GridFS. To choose a different location for the file on the local file system, use the \fI\%\-\-local\fP option. .UNINDENT .INDENT 0.0 .TP .B delete Delete the specified file from GridFS storage. .UNINDENT .INDENT 0.0 .TP .B delete_id "" New in version 3.2.0. .sp Delete the specified file from GridFS storage. Specify the file using its \fB_id\fP\&. .UNINDENT .SH EXAMPLES .sp To return a list of all files in a GridFS collection in the \fBrecords\fP database, use the following invocation at the system shell: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongofiles \-d records list .ft P .fi .UNINDENT .UNINDENT .sp This \fI\%mongofiles\fP instance will connect to the \fBmongod\fP instance running on the \fB27017\fP localhost interface to specify the same operation on a different port or hostname, and issue a command that resembles one of the following: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongofiles \-\-port 37017 \-d records list mongofiles \-\-host db1.example.net \-d records list mongofiles \-\-host db1.example.net \-\-port 37017 \-d records list .ft P .fi .UNINDENT .UNINDENT .sp Modify any of the following commands as needed if you’re connecting the \fBmongod\fP instances on different ports or hosts. .sp To upload a file named \fB32\-corinth.lp\fP to the GridFS collection in the \fBrecords\fP database, you can use the following command: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongofiles \-d records put 32\-corinth.lp .ft P .fi .UNINDENT .UNINDENT .sp To delete the \fB32\-corinth.lp\fP file from this GridFS collection in the \fBrecords\fP database, you can use the following command: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongofiles \-d records delete 32\-corinth.lp .ft P .fi .UNINDENT .UNINDENT .sp To search for files in the GridFS collection in the \fBrecords\fP database that have the string \fBcorinth\fP in their names, you can use following command: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongofiles \-d records search corinth .ft P .fi .UNINDENT .UNINDENT .sp To list all files in the GridFS collection in the \fBrecords\fP database that begin with the string \fB32\fP, you can use the following command: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongofiles \-d records list 32 .ft P .fi .UNINDENT .UNINDENT .sp To fetch the file from the GridFS collection in the \fBrecords\fP database named \fB32\-corinth.lp\fP, you can use the following command: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongofiles \-d records get 32\-corinth.lp .ft P .fi .UNINDENT .UNINDENT .sp To fetch the file from the GridFS collection in the \fBrecords\fP database with \fB_id: ObjectId("56feac751f417d0357e7140f")\fP, you can use the following command: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C mongofiles \-d records get_id \(aqObjectId("56feac751f417d0357e7140f")\(aq .ft P .fi .UNINDENT .UNINDENT .sp You must include quotation marks around the \fB_id\fP\&. .SH AUTHOR MongoDB Documentation Project .SH COPYRIGHT 2008-2018 .\" Generated by docutils manpage writer. .