mongosqld
mongodrdl
mongotranslate
MongoDB工具 >MongoDB BI连接器 >组件 > mongodrdl
mongodrdl
mongodrdl
¶注意
用于BI的MongoDB连接器和关联的实用程序仅与MongoDB服务器3.2或更高版本兼容。
mongodrdl
是用于MongoDB Connector for BI的关系模式管理工具。该
mongodrdl
二进制可以:
Produce a schema
基于一个或多个MongoDB的内容集合,并把它们写出来到.drdl
被使用的文件mongosqld
。Upload
.drdl
BI连接器正在读取的文件格式到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
选项与download
and
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
选项与download
and
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连接字符串。
重要
以下命令行选项不能与--uri
option 一起使用:
--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连接器将应用此阶段。
该查询可以引用集合中的任何字段,即使这些字段未在关系模式中公开。
有关自定义过滤器用法的示例,请参见“ 自定义过滤器示例”。