1. 概述
1.1 版本
FineDataLink 版本 | 功能变更 |
---|---|
4.0.4.2 |
|
1.2 应用场景
用户想使用 FineDataLink 处理 MongoDB 数据库中的数据。
1.3 功能简介
满足接入 MongoDB 数据源进行数据处理的需求。
2. 前提条件
使用该功能前,需要确保数据平台已经注册了「NoSQL」功能点,注册事项详情参见:注册简介
3. 兼容声明
当部署方式为 集成部署 时,如果原平台安装了 MongoDB插件 ,同时使用了 FDL 的 MongoDB 数据源:
FDL 与插件的 MongoDB 数据连接相互独立,互不干扰,互不可用,名称上做区分。
FDL 不可使用插件提供的「MongoDB明细数据集」和「MongoDB聚合数据集」。
服务器数据集处,屏蔽 FDL 的 MongoDB 数据连接。
4. 操作步骤
4.1 配置 MongoDB 数据源
1)下载mongo-java-driver-3.12.10.jar 驱动包。
安装包部署的工程,需要将驱动包放置到%FineDataLink%\libs下,如下图所示:
FineDataLink独立部署、集成部署工程,需要将驱动包放置到%Tomcat_home%\webapps\webroot\WEB-INF\lib下。
2)重启 FineDataLink工程。
3)点击「管理系统>数据连接>数据连接管理」,[通用]配置数据连接处可以新增 MongoDB 数据连接类型。如下图所示:
各设置项介绍如下表所示:
设置项 | 说明 |
---|---|
数据连接名称 | 填写数据连接名称 |
数据库地址 | 填写 MongoDB 数据库的 IP 地址或主机名以及端口号 如果是集群,输入多个数据库地址,用逗号分隔。如:192.168.1.123:27017, 192.168.1.124:27017 允许使用半角逗号和全角逗号分隔 |
读取策略 | 指定读取策略,当集群为副本集的情况下有效,其余情况下指定了也并不生效,具体介绍请参见:具体介绍 |
认证类型 | 包含两种认证方式:无认证、用户名密码认证 选择「无认证」时,不使用认证,直接连接目标数据库 |
自动时区转换 | 勾选后,同步 MongoDB 时间字段时,进行自动时区转换 |
时区选择 | 勾选「自动时区转换」时显示,可选择指定时区 |
4.2 使用 MongoDB 输入进行数据开发
「数据转换」节点新增算子「MongoDB输入」,界面如下图所示:
各设置项介绍如下表所示:
设置项 | 说明 |
---|---|
数据连接 | 已配置过数据连接且当前用户有数据连接使用权限的选项 |
数据库 | 选择数据连接后,备选项为对应数据连接下所有数据库 |
集合 | 选择数据库后,备选项为对应数据库下所有集合 |
请求类型 | 仅选中的配置方式生效,保存时也只保存选中方式对应的查询条件 切换配置方式,「查询条件」不清空,内容互不影响,执行查询,将最新字段更新至「输出字段」 |
查询条件 | 查询方式选择「条件查询」时显示 参考:MongoDB比较符 日期类型,在进行查询时需要转换为GMT时间进行查询 注:4.1.1 及之后版本,产品内条件判断逻辑进行了统一,每个运算符的说明可参见:条件判断逻辑说明 |
查询语句 | 查询方式选择「语句查询」时显示 手动输入查询条件(JSON格式),相当于填写find()中的内容,支持参数 使用方法参考:MongoDB查询文档 样例: {key1:value1, key2:value2} {$or: [{key1: value1}, {key2:value2}]} 允许为空,为空时相当于不指定查询条件,查询集合内所有文档 |
聚合语句 | 查询方式选择「语句聚合」时显示 手动输入聚合语句(JSON格式),相当于填写aggregate()中的内容,支持参数 使用方法参考:MongoDB聚合 样例: [{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}] { $project : { _id : 0 , title : 1 , author : 1 }} 允许为空,为空时相当于不指定聚合条件。 注1:mongdb 的 java 驱动解析聚合语句时,无法解析 new Date("2020-03-01") 这种格式。需要将聚合语句中的 new Date 改成 ISODate 注2:可在「语句聚合(aggregate)」中实现 limit 语法 |
输出字段 | 配置组件输出字段 1)字段名称:
2)字段类型:可选择下拉框中的字段类型 |