跳到主要内容

配置 MongoDB 数据源

最近更新 2026/10/03

AE 数据开发平台 离线同步方案 支持 MongoDB 数据源的 写入(Writer)。本文将为您介绍 MongoDB 数据同步能力的支持情况。

MongoDB 是一个文档数据库(以 JSON 为数据模型)。

MongoDB 是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据格式是BSON ,一种类似 JSON 的二进制形式的存储格式,简称Binary JSON ,和 JSON 一样支持内嵌的文档对象和数组对象,因此可以存储比较复杂的数据类型。

SQL 概念MongoDB 概念说明
数据库(database)数据库(database)逻辑上的命名空间,一个数据库包含多个不同名称的集合
表(table)集合(collection)相当于 SQL 中的表,一个集合可以存放多个不同字段(类型)的文档
行(row)文档(document)一个文档相当于数据表中的一行,由多个不同的字段组成
列(column)字段(field)文档中的一个属性,等同于列( column )
索引 (index)索引(index)与 SQL 概念一致
主键 ( primary key)_id(字段)每个文档中都拥有一个唯一的 id 字段
视图 (view)视图(view)虚拟的(非真实存在的)集合
表连接 ( table joins)聚合操作($lookup)“ 类似 ” 表连接( tablejoin )的聚合操作符

MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

游戏场景:使用 MongoDB 存储游戏用户信息,用户的装备、 积分等直接以内嵌文档的形式存储,方便查询、更新。

支持的版本​

MongoDB 4.0+

使用限制​

目前仅支持以下配置方式:


  • 支持 AE 预置仓空间表 向 MongoDB 写入(离线写入)

注:

  • 暂不支持读取 MongoDB 数据源(离线读取)

支持的字段类型​

字段类型离线写(MongoDB Writer)说明
INT支持32 位整型
LONG支持64 位整型
STRING支持
OBJECTID支持
DECIMAL支持Decimal128,最大34位精度
NULL支持
DOUBLE支持
DATE支持秒级精度
TIMESTAMP支持毫秒级精度
BOOLEAN支持
BINDATA不支持
REGEX不支持
JAVASCRIPT不支持
MINKEY不支持
MAXKEY不支持

创建 MongoDB 数据源​

在 数据开发平台 - 集成 模块,您可以选择 新增 MongoDB 数据源

数据源配置参数信息

填写数据源所需的配置信息并完成连通性测试后,即可成功创建 MongoDB 数据源。

其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

字段名称说明
基本信息
*数据源名称数开平台空间内唯一,必须以字母、数字、下划线组合,且不能以数字和下划线开头
备注选填
数据源配置
不区分环境 / 独立环境配置二选一:「不区分环境」表示 生产环境 与 开发环境 共用一套配置,「独立环境配置」表示双环境独立配置
*部署模式

支持以下部署模式

  • 集群模式
  • 副本模式
  • 单节点模式
*服务地址/IP

数据库所在的服务地址

集群部署时,多个节点信息输入请点击「增加」

*端口用于访问 MongoDB 的端口
*数据库名连接的 MongoDB 数据库名称
*用户名有权限访问数据库的用户名
*密码用户名对应的密码信息
认证数据库创建用户时使用的数据库名称,例如:admin
副本集名称当部署模式 = 副本模式时,请填入副本集名称
高级配置

连接数据库所需的其他高级参数,可自定义填写

例如:如需 SSL 证书连接,可用 ssl=true 参数控制

注:以上参数信息拼接 connection string ,用于建立与 MongoDB 数据库连接的字符串组合

如:mongodb://<username>:<password>@<instance_ip>:<instance_port>/<database_name>?authSource=admin&ssl=true

创建离线同步任务​

根据上述步骤成功 创建 MongoDB 数据源 并测试连通性成功后,您可根据实际场景,配置 MongoDB 离线写 的离线同步任务。

MongoDB 作为数据去向​

数据去向选择 MongoDB,并完成以下相关参数配置:

字段名称说明
*源类型数据去向目标类型选择 MongoDB
*数据源名称已在数据源管理界面注册的 MongoDB 数据源,下拉可选。
若还未建立相应数据源,可单击 数据源管理 按钮,前往创建 MongoDB 数据源。
*数据库名读取的数据库名称
*集合名

下拉可选集合名称(collection)

注意:如果该集合(collection)当前不存在,则插入操作将创建该集合。

*写入模式
  • 插入新数据: Insert(出现唯一键冲突时,任务会执行失败)
  • 更新插入: Upsert(唯一键相同时,用新的数据覆盖旧数据,唯一键不同时,直接插入新数据)。唯一键在字段映射的「添加集合字段」弹窗中,通过「作为 UPSERT 键」开关指定

注意:insert/update命令中涉及的文档,最大不能超过16MB。

前置语句

作用:数据写入 MongoDB 前,对 MongoDB 中已有数据的前置操作

输入的前置语句需确保符合 JSON 语法要求。

前置条件(PreSQL)的配置包含了type和json两个属性。

  • type:必填项,可取值为:remove、drop
  • json:
    • 当type为remove时,为必填项,配置语法为MongoDB的标准Query,
    • 当type为drop时,无需填写。
{
"type":"remove",
"item": [
{
"_id": ObjectId("..."),
"student_id": 1001,
"name": "xiaoming",
"grade": "grade_1"
}
]
}
高级配置批量条数:单批次写入 MongoDB 的数据量
批量写入间隔:控制内存缓冲区数据刷写(Flush)到 MongoDB 的最大时间间隔,单位为毫秒(ms)

其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

字段映射说明​

完成数据来源和目标端配置后,需建立字段映射关系,系统将按照映射关系将源端字段中的数据自动创建目标 collection 中的字段。

  • 解析成功后,点击「生成同名映射」,根据源表数据类型生成 Mongo Document 结构
  • 用户可二次编辑写入的 Document 的 字段名称 和 字段数据类型。

需要注意一个目标字段只能对应一个来源字段

字段类型映射方式(空间表 —— Mongo):

来源文件类型空间表MongoDB BSON 类型说明

orc、parquet

tinyintInt
smallintInt
integerInt32 位整型
bigintLong64 位整型
varcharString or ObjectID
booleanBoolean
doubleDouble
dateDate
timestampTimestamp毫秒级精度
decimalDecimal(10)Decimal128
arrayArray数组类型
rowObject
mapObject
csv、textvarcharString or ObjectID

预览结果​

点击 预览结果,会抽样来源数据生成三条样例写入结果。

注意⚠️:如果来源字段是 Null, 写入预览时该字段不展示,实际写入 Mongo 时该字段为 "key" :null。

基本信息设置​

最后,您需要设置集成方案的基本信息,包括方案的名称、负责人、集成的同步速率以及备注等。

完成配置后,可以点击 「保存」 按钮完成集成方案的创建。

注:方案名称保存后不允许修改

详情页展示:

离线同步方案挂流​

挂载任务流​

1.进入挂载流程

  • 在集成方案详情页,点击右上角「挂载到任务流」按钮

2.选择任务流

  • 从下拉菜单中选择目标任务流

  • 若需新建任务流:

    • 点击下拉菜单下方的「新建任务流」快捷按钮
    • 或前往「开发」模块创建
  • 提示:如未显示目标任务流,可点击右侧↻刷新按钮

3.创建同步节点

  • 在任务流中新建「离线同步方案」类型节点
  • 该节点将关联当前集成方案,节点执行时即触发对应集成方案的运行

4.完成挂载

  • 点击「创建节点并挂载」完成配置
  • 挂载成功后,可点击「前往任务流」立即查看挂载结果
提示

注:挂载任务流所创建的任务节点处于 尚未发布状态,建议您前往查看任务流,并将该节点发布上线。

解除任务流挂载​

如果您希望解除离线同步方案的任务流挂载,

  • 若该任务流还未发布上线,您可前往该方案挂载的任务流,在 开发模式 删除该「离线同步方案」任务节点即可。
  • 若该任务流已经发布上线,在 开发模式 删除该「离线同步方案」任务节点后,您需要重新发布该任务流,即同步解除了该节点在 生产环境 上的挂载。
这篇文档对你有帮助吗?