mongosqldmongodrdlmongotranslateMongoDB工具 >MongoDB BI连接器 >组件 > mongodrdl
mongodrdlmongodrdl¶注意
用于BI的MongoDB连接器和关联的实用程序仅与MongoDB服务器3.2或更高版本兼容。
mongodrdl是用于MongoDB Connector for BI的关系模式管理工具。该
mongodrdl二进制可以:
Produce a schema基于一个或多个MongoDB的内容集合,并把它们写出来到.drdl被使用的文件mongosqld。Upload.drdlBI连接器正在读取的文件格式到MongoDB部署。Download 您的MongoDB部署中存储的架构。Delete 您的MongoDB部署中存储的架构。Name 在您的MongoDB部署中存储模式,以便于管理。您可以.drdl手动编辑文件以自定义BI Connector的架构。要了解有关.drdl格式和手动编辑
.drdl文件的更多信息,请参阅从DRDL文件加载模式。
要了解有关所有BI Connector架构管理选项的更多信息,请参阅将关系架构映射到MongoDB。
重要
要对DRDL文件应用所做的任何更改,必须重新启动
mongosqld。
mongodrdl 使用以下语法:
2.11版中的新功能。
的行为mongodrdl由以下命令之一确定。如果未指定命令,则mongodrdl
对指定的名称空间进行采样。
list-schema-ids¶列出每个存储模式的ObjectId的字符串表示 形式以及创建日期。
list-schema-ids 需要以下选项:
| 名称 | 描述 |
|---|---|
--schemaSource |
需要。指定存储架构信息的数据库。 |
例如,以下命令列出了schemas数据库中的架构标识
:
输出类似于以下内容:
list-schema-names¶列出每个具有名称的存储模式的名称和ObjectId的字符串表示形式 。
默认情况下,未命名存储的架构。您可以通过将--name选项与downloadand
delete命令一起
使用来引用命名模式。使用
name-schema命令来命名或重命名模式。
list-schema-names 需要以下选项:
| 名称 | 描述 |
|---|---|
--schemaSource |
需要。指定存储架构信息的数据库。 |
例如,以下命令返回schemas数据库中每个命名模式的名称和ObjectId :
输出类似于以下内容:
upload¶将模式从指定的.drdl文件上载到该--schemaSource
选项指定的数据库。模式已上载到schemas集合。
upload 需要以下选项:
| 名称 | 描述 |
|---|---|
--schemaSource |
需要。指定存储架构信息的数据库。 |
--drdl |
需要。.drdl要上传的文件的路径。 |
例如,以下命令将movies.drdl文件中的架构上载到
schemas数据库:
返回上载架构的ObjectId的字符串表示形式 :
要使用新上载的模式,请mongosqld
使用--schemaSource选项指定的模式数据库
并将其--schemaMode设置为重新启动custom:
download¶下载由其名称或ObjectId的字符串表示形式指定的模式,并将其 打印到控制台。
download 接受以下选项:
| 名称 | 描述 |
|---|---|
--schemaSource |
需要。指定存储架构信息的数据库。 |
--name |
模式的名称。要了解有关命名架构的更多信息,请参见 如果 |
--schema |
模式的ObjectId的字符串表示形式 。 如果 |
例如,以下命令将movies模式打印到控制台:
要将模式存储在.drdl文件中,请将输出定向到所需.drdl文件:
delete¶删除由其名称或ObjectId的字符串表示形式指定的模式 。
delete 接受以下选项:
| 名称 | 描述 |
|---|---|
--schemaSource |
需要。指定存储架构信息的数据库。 |
--name |
模式的名称。要了解有关命名架构的更多信息,请参见 如果 |
--schema |
模式的ObjectId的字符串表示形式 。 如果 |
例如,下面的命令删除ID为架构
5d7941dc6a26a3d0fc397284的schemas数据库:
name-schema¶为架构创建新名称或更新架构的现有名称。
默认情况下,未命名存储的架构。您可以通过将--name选项与downloadand
delete命令一起
使用来引用命名模式。使用
name-schema命令来命名或重命名模式。
name-schema 需要以下选项:
| 名称 | 描述 |
|---|---|
--schemaSource |
需要。指定存储架构信息的数据库。 |
--name |
需要。模式的新名称。 |
--schema |
必需模式的ObjectId的字符串表示形式 。 |
例如,以下命令5d72adea5c23a9e44882a1ad将schemas数据库中的架构命名
为
movies:
--help¶返回有关mongodrdl选项和用法的信息。
--version¶返回mongodrdl版本号。
--verbose <level>, -v <level>¶指定mongodrdl应该提供更详细的日志输出。包括多次以获得更多详细信息(例如-vvvvv),或指定一个数值(例如--verbose=5)。
--quiet¶隐藏所有日志输出。
--uri <mongodb-uri>¶2.12版中的新功能。
MongoDB URI连接字符串。
重要
以下命令行选项不能与--urioption 一起使用:
--host--port--db--username--password (如果URI连接字符串还包含密码)--authenticationDatabase--authenticationMechanism而是将这些选项指定为--uri
连接字符串的一部分。
--host <hostname><:port>, -h <hostname><:port>¶默认值:本地主机:27017
指定mongod要连接的主机名称。默认情况下,mongodrdl尝试连接到端口号为localhost的MongoDB实例27017。
要连接到副本集,请指定replSetName集合成员的
和种子列表,如下所示:
您始终可以通过直接指定主机和端口号直接直接连接到单个MongoDB实例。
--port <port>¶默认值:27017
指定MongoDB实例在其上侦听客户端连接的TCP端口。
--db <database>, -d <database>¶指定要从中生成.drdl架构文件的数据库。
--collection <collection>, -c <collection>¶指定从中生成.drdl架构文件的集合。如果未指定集合,则此选项将使用指定数据库或实例中的所有集合。
--sampleSize <size>, -s <size>¶默认值:1000
指定在生成集合的架构时要采样的文档数。
--uuidSubtype3Encoding <old|csharp|java>, -b <old|csharp|java>¶指定用于生成UUID二进制子类型3的编码。选择以下值之一:
old:旧的BSON二进制子类型表示csharp:C#/。NET旧版UUID表示形式java:Java旧版UUID表示形式--preJoined¶生成包含父列的展开表,从而生成“预联接”表。
--ssl¶默认值:False
指示mongodrdl连接到MongoDB实例时使用TLS / SSL。
--sslCAFile <filename>¶指定.pem包含来自证书颁发机构的根证书链的MongoDB实例的文件。.pem使用相对或绝对路径指定文件的文件名。
--sslPEMKeyFile <filename>¶指定.pem包含TLS / SSL证书和mongosqld连接到MongoDB时要使用的密钥的文件。您可以.pem使用相对路径或绝对路径来指定文件的文件名
。
使用--ssl选项连接到mongod或mongos已
CAFile启用而未
启用时,此选项是必需的allowConnectionsWithoutCertificates。
--sslPEMKeyPassword <password>¶指定包含用于连接到MongoDB的证书和私钥的文件的路径。
--sslCRLFile <filename>¶指定.pem包含证书吊销列表的文件。.pem使用相对或绝对路径指定文件的文件名。
--sslAllowInvalidCertificates¶允许MongoDB实例提供无效的服务器SSL / TLS证书。使用该allowInvalidCertificates
设置时,MongoDB会将无效证书的使用记录为警告。
--sslAllowInvalidHostnames¶禁用TLS / SSL证书中的主机名验证。如果其证书的主机名与指定的主机名不匹配,则允许 mongodrdl连接到MongoDB实例。
--sslFIPSMode¶指示mongodrdl使用已安装的OpenSSL库的FIPS模式。您的系统必须具有FIPS兼容的OpenSSL库才能使用该--sslFIPSMode选项。
--username <username>, -u <username>¶指定用于向使用身份验证的MongoDB数据库进行身份验证的用户名。与--password和
--authenticationDatabase选项结合使用。
--password <password>, -p <password>¶指定用于对使用身份验证的MongoDB数据库进行身份验证的密码。与--username和
--authenticationDatabase选项结合使用。
--authenticationMechanism <name>¶默认值:SCRAM-SHA-1
指定mongodrdl实例用于对mongod或进行身份验证的身份验证机制mongos。
| 值 | 描述 |
|---|---|
| SCRAM-SHA-1 | 使用SHA1哈希函数的RFC 5802标准咸化挑战响应身份验证机制。 |
| SCRAM-SHA-256 | 2.6版中的新功能: 使用SHA2哈希函数的RFC 7677标准咸化挑战响应身份验证机制。 |
| 普通(LDAP SASL) | 使用LDAP的外部身份验证。您还可以PLAIN
用于验证数据库内用户。PLAIN以纯文本形式传输密码。此机制仅在MongoDB Enterprise中可用
。 |
| GSSAPI(Kerberos) | 使用Kerberos的外部身份验证。此机制仅在MongoDB Enterprise中可用。 |
--gssapiServiceName <service-name>¶默认值:mongodb
使用GSSAPI / Kerberos进行身份验证时要使用的服务名称。
--gssapiHostName <hostname>¶默认值:远程服务器的地址
使用GSSAPI / Kerberos进行身份验证时要使用的主机名。
BI Connector使用MongoDB 聚合管道 对MongoDB数据库执行查询。您可以在架构中添加一个特殊字段,以将自定义的MongoDB $ match 查询字符串传递到您的MongoDB实例。
使用--customFilterField选项和mongodrdl命名自定义过滤器字段。该字段经过一个本机的MongoDB
$ match
阶段,用作聚合管道的第一阶段,该阶段过滤从MongoDB返回的所有结果。从SQL下推任何其他阶段之前,BI连接器将应用此阶段。
该查询可以引用集合中的任何字段,即使这些字段未在关系模式中公开。
有关自定义过滤器用法的示例,请参见“ 自定义过滤器示例”。