mongodumpmongorestorebsondumpmongoimportmongoexportmongostatmongotopmongofilesMongoDB工具 >MongoDB数据库工具 > mongo文件
mongofiles¶该mongofiles实用程序使您可以从命令行操作GridFS对象中存储在MongoDB实例中的文件。它提供了存储在文件系统中的对象与GridFS之间的接口,因此它特别有用。
所有mongofiles命令的格式如下:
该mongofiles命令的组件是:
mongofiles。mongofiles。重要
对于副本集,
mongofiles只能从集合的primary中读取
。
运行mongofiles系统命令行,而不是mongo外壳。
从MongoDB 4.4开始,mongofiles现已与MongoDB服务器分开发布,并使用其自己的版本控制(初始版本为)100。以前,mongofiles该版本与MongoDB Server一起发布,并使用了匹配的版本控制。
有关MongoDB 4.2或更早版本的
文档mongofiles,请参阅该工具版本的MongoDB服务器文档:
本文档的版本100的mongofiles。
mongofiles版本100支持以下版本的MongoDB Server:
虽然mongofiles在早期版本的MongoDB服务器上可以使用,但不能保证任何此类兼容性。
mongofiles100以下平台支持该版本:
| x86_64 | 的ARM64 | PPC64LE | s390x | |
|---|---|---|---|---|
| 亚马逊2 | ✓ | |||
| 亚马逊2013.03+ | ✓ | |||
| Debian 10 | ✓ | |||
| Debian 9 | ✓ | |||
| Debian 8 | ✓ | |||
| RHEL / CentOS 8 | ✓ | ✓ | ||
| RHEL / CentOS 7 | ✓ | ✓ | ✓ | |
| RHEL / CentOS 6 | ✓ | ✓ | ||
| SUSE 12 | ✓ | |||
| Ubuntu 20 | ✓ | |||
| Ubuntu 18 | ✓ | ✓ | ✓ | ✓ |
| Ubuntu 16 | ✓ | ✓ | ✓ | ✓ |
| Windows 8及更高版本 | ✓ | |||
| Windows Server 2012及更高版本 | ✓ | |||
| macOS 10.12或更高版本 | ✓ |
为了连接到mongod具有--auth选项的强制授权,您必须使用
--username和--password选项。连接用户必须至少拥有:
mongofiles自动创建符合FIPS的连接到一个mongod/ mongos被
配置为使用FIPS模式。
默认情况下,mongofiles使用read preference
primary。要覆盖默认值,您可以在
命令行选项或中指定
读取首--readPreference选项。--uri connection string
如果您在URI字符串和中指定读取首选项,则--readPreference该--readPreference值将覆盖URI字符串中指定的读取首选项。
您可以同时指定
--writeConcern和
选项。如果使用两个选项都指定了写入关注点,则该
值将覆盖URI字符串中指定的写入关注点。--uri connection string--writeConcern
--help¶返回有关mongofiles选项和用法的信息。
--verbose, -v¶增加标准输出或日志文件中返回的内部报告的数量。-v通过多次包含选项来增加详细程度(例如)-vvvvv。
--version¶返回mongofiles发行版号。
--uri=<connectionString>¶指定可解析的URI 连接字符串(用引号引起来)以连接到MongoDB部署。
有关连接字符串的组成部分的信息,请参阅“ 连接字符串URI格式”文档。
注意
对于TLS / SSL选项,请使用命令行选项代替TLS / SSL的 URI选项(从4.2开始可用)。
--host=<hostname><:port>¶为mongod包含您的GridFS系统的主机指定一个可解析的主机名。默认情况下,mongofiles尝试连接到在本地主机端口号上运行的MongoDB进程27017。
(可选)指定端口号以连接在27017以外的端口上运行的MongoDB实例。
另外,当与选项一起使用时,您也可以直接在URI连接字符串中指定主机名
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--host--uri
--port=<port>¶默认值:27017
指定MongoDB实例在其上侦听客户端连接的TCP端口。
另外,当与选项一起使用时,您也可以直接在URI连接字符串中指定端口
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--port--uri
--ssl¶启用与mongod或mongos已启用TLS / SSL支持的连接。
另外,当与选项一起使用时,您也可以直接在URI连接字符串中配置TLS / SSL支持
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--ssl--uri
有关TLS / SSL和MongoDB的更多信息,请参阅 为客户端的TLS / SSL和 TLS / SSL配置配置mongod和mongos。
--sslCAFile=<filename>¶指定.pem包含来自证书颁发机构的根证书链的文件。.pem使用相对或绝对路径指定文件的文件名
。
另外,当与选项一起使用时,您也可以.pem直接在URI连接字符串中指定文件
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--sslCAFile--uri
有关TLS / SSL和MongoDB的更多信息,请参阅 为客户端的TLS / SSL和 TLS / SSL配置配置mongod和mongos。
--sslPEMKeyFile=<filename>¶指定.pem同时包含TLS / SSL证书和密钥的文件。.pem使用相对或绝对路径指定文件的文件名。
使用--ssl选项连接到mongod或mongos已
CAFile启用而未
启用时,此选项是必需的allowConnectionsWithoutCertificates。
另外,当与选项一起使用时,您也可以.pem直接在URI连接字符串中指定文件
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--sslPEMKeyFile--uri
有关TLS / SSL和MongoDB的更多信息,请参阅 为客户端的TLS / SSL和 TLS / SSL配置配置mongod和mongos。
--sslPEMKeyPassword=<value>¶指定用于解密证书密钥文件的密码(即
--sslPEMKeyFile)。--sslPEMKeyPassword仅当证书密钥文件已加密时才使用该选项。在所有情况下,mongofiles都会从所有日志记录和报告输出中删除密码。
如果PEM文件中的私钥已加密,而您未指定该--sslPEMKeyPassword选项,则mongofiles将提示输入密码。请参阅
TLS / SSL证书密码。
另外,当与选项一起使用时,也可以直接在URI连接字符串中指定密码
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--sslPEMKeyPassword--uri
有关TLS / SSL和MongoDB的更多信息,请参阅 为客户端的TLS / SSL和 TLS / SSL配置配置mongod和mongos。
--sslCRLFile=<filename>¶指定.pem包含证书吊销列表的文件。.pem使用相对或绝对路径指定文件的文件名。
有关TLS / SSL和MongoDB的更多信息,请参阅 为客户端的TLS / SSL和 TLS / SSL配置配置mongod和mongos。
--sslAllowInvalidCertificates¶绕过服务器证书的验证检查,并允许使用无效的证书。使用该
allowInvalidCertificates设置时,MongoDB将使用无效证书记录为警告。
警告
尽管可用,但请避免使用该
--sslAllowInvalidCertificates选项。如果必须使用--sslAllowInvalidCertificates,请仅在不可能进行入侵的系统上使用该选项。
在不验证服务器证书的情况下连接到mongod或
mongos实例具有潜在的安全风险。如果仅需要禁用TLS / SSL证书中的主机名验证,请参阅--sslAllowInvalidHostnames。
另外,当与选项一起使用时,您也可以直接在URI连接字符串中禁用证书验证
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--sslAllowInvalidCertificates--uri
有关TLS / SSL和MongoDB的更多信息,请参阅 为客户端的TLS / SSL和 TLS / SSL配置配置mongod和mongos。
--sslAllowInvalidHostnames¶禁用TLS / SSL证书中的主机名验证。允许 mongofile连接到MongoDB实例,即使其证书中的主机名与指定的主机名不匹配也是如此。
另外,当与选项一起使用时,也可以直接在URI连接字符串中禁用主机名验证
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--sslAllowInvalidHostnames--uri
有关TLS / SSL和MongoDB的更多信息,请参阅 为客户端的TLS / SSL和 TLS / SSL配置配置mongod和mongos。
--username=<username>, -u=<username>¶指定用于向使用身份验证的MongoDB数据库进行身份验证的用户名。与--password和
--authenticationDatabase选项结合使用。
另外,当与选项一起使用时,您也可以直接在URI连接字符串中指定用户名
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--username--uri
--password=<password>, -p=<password>¶指定用于对使用身份验证的MongoDB数据库进行身份验证的密码。与--username和
--authenticationDatabase选项结合使用。
要提示用户输入密码,请传递--username
不带选项--password或将空字符串指定为
--password值,如中所示。--password ""
另外,当与选项一起使用时,也可以直接在URI连接字符串中指定密码
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--password--uri
--authenticationDatabase=<dbname>¶指定在其中--username创建指定内容的认证数据库。请参阅身份验证数据库。
另外,当与选项一起使用时,您也可以直接在URI连接字符串中指定身份验证数据库
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--authenticationDatabase--uri
--authenticationMechanism=<name>¶默认值:SCRAM-SHA-1
指定mongofiles实例用于对mongod或进行身份验证的身份验证机制mongos。
| 值 | 描述 |
|---|---|
| SCRAM-SHA-1 | 使用SHA-1哈希函数的RFC 5802标准咸化挑战响应身份验证机制。 |
| SCRAM-SHA-256 | 使用SHA-256哈希函数的RFC 7677标准咸化挑战响应身份验证机制。 要求featureCompatibilityVersion设置为 |
| MONGODB-X509 | MongoDB TLS / SSL证书认证。 |
| GSSAPI(Kerberos) | 使用Kerberos的外部身份验证。此机制仅在MongoDB Enterprise中可用。 |
| 普通(LDAP SASL) | 使用LDAP的外部身份验证。您还可以PLAIN
用于验证数据库内用户。PLAIN以纯文本形式传输密码。此机制仅在MongoDB Enterprise中可用
。 |
另外,当与选项一起使用时,您也可以直接在URI连接字符串中指定身份验证机制
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--authenticationMechanism--uri
--gssapiServiceName=<serviceName>¶使用GSSAPI / Kerberos指定服务的名称。仅当服务未使用默认名称时才需要mongodb。
此选项仅在MongoDB Enterprise中可用。
--gssapiHostName=<hostname>¶使用GSSAPI / Kerberos指定服务的主机名。仅当计算机的主机名与DNS解析的主机名不匹配时才需要。
此选项仅在MongoDB Enterprise中可用。
--db=<database>, -d=<database>¶指定要在其上运行mongofiles的数据库的名称。
另外,当与选项一起使用时,也可以直接在URI连接字符串中指定数据库
。一起使用
和选项并指定有冲突的信息将导致错误。--urimongofiles--db--uri
--local=<filename>, -l=<filename>¶指定用于获取和放置操作的文件的本地文件系统名称。
在mongofiles put和mongofiles get命令中,必需的<filename>修饰符是指对象在GridFS中将具有的名称。mongofiles假定这反映了本地文件系统上文件的名称。此设置将覆盖此默认设置。
--type=<MIME>¶提供指定MIME类型以描述插入GridFS存储的文件的功能。mongofiles在默认操作中忽略此选项。
仅与mongofiles put操作一起使用。
--replace, -r¶更改mongofile的行为,以用指定的本地文件替换现有GridFS对象,而不是添加具有相同名称的其他对象。
在默认操作中,mongofiles put选项不会覆盖文件 。
--prefix=<string>¶默认值:fs
要使用的GridFS前缀。
--writeConcern=<document>¶默认值:多数
指定mongofiles 执行的每个写入操作的写入关注点。
使用w选项将写关注点指定为文档:
如果还将包含写入关注点,则命令行
会覆盖URI字符串中指定的写入关注点。--uri
connection string--writeConcern
--readPreference=<string|document>¶默认值:primary
指定读取偏好的
mongofiles。该--readPreference选项可以采用:
如果仅指定读取首选项模式,则为字符串:
用引号引起来的文档,用于指定模式,可选的 读取首选项标签集和可选的maxStalenessSeconds:
如果指定maxStalenessSeconds,则该值必须大于或等于90。
如果读取的首选项也包含在中
,则命令行将
覆盖URI字符串中指定的读取的首选项。--uri connection string--readPreference
list <prefix>列出GridFS存储中的文件。在list(例如<prefix>)之后指定的字符
(可选)将返回的项目列表限制为以该字符串开头的文件。
search <string>