概述
腾讯云 MongoDB 是腾讯云提供的托管 NoSQL 文档数据库,基于开源 MongoDB 构建,兼容 MongoDB 协议。DataBuddy 数据接入支持将腾讯云 MongoDB 作为来源端,覆盖离线同步与实时整库同步场景。本文介绍其连接配置、能力支持范围、前提条件与常见问题。
支持的版本
类型 | 支持版本 |
腾讯云 MongoDB | 3.6 / 4.0 / 4.2 / 4.4 / 5.0 / 6.0 / 7.0 / 8.0 |
读取能力
能力 | 支持情况 | 说明 |
离线同步(读 / 写) | ✓ / - | 支持作为离线同步任务的源端读取数据;DataBuddy 数据源仅支持接入读取,不支持写入 |
实时同步(读 / 写) | ✓ / - | 支持作为实时同步任务的源端读取整库数据变更;DataBuddy 数据源仅支持接入读取,不支持写入 |
使用限制
实时同步限制
限制项 | 说明 |
同步机制 | 基于 MongoDB Change Streams |
集群模式 | 需为副本集或分片集群 |
全量阶段 DDL | 全量同步阶段,源端集合创建索引将导致同步报错并终止任务 |
离线同步限制
限制项 | 说明 |
认证方式 | 需提供连接账号与密码 |
支持的字段类型
MongoDB 采用 BSON 类型系统,以下是 DataBuddy 的离线读支持情况。
字段类型 | 说明 |
ObjectId | 文档主键 |
String | 字符串 |
Int32 / Int64 | 整数 |
Double | 浮点数 |
Decimal128 | 高精度定点数 |
Boolean | 布尔 |
Date / Timestamp | 时间类型 |
Array | 数组 |
Object | 嵌套文档 |
Binary | 二进制 |
Null | 空值 |
实时同步支持的 DML / DDL
DML
操作 | 是否支持 |
insert / update / delete | ✅ |
DDL
操作 | 是否支持 |
新建集合(create) | ✅ |
删除集合(drop) | ✅ |
重命名集合(rename) | ✅ |
新增索引 / 删除索引 | ❌ |
DDL 变更响应仅在增量阶段生效;全量阶段执行 DDL 可能导致任务失败。
前提条件
配置账号权限
db.createUser({user: "wedata_user",pwd: "your_password",roles: [{ role: "read", db: "your_database" }]})
实时同步基于 Change Streams,账号需具备读取集合与读取 oplog 的权限(腾讯云实例通常由控制台默认授权)。
创建数据源
操作步骤
1. 登录 DataBuddy 控制台。
2. 在顶部切换到目标地域和 Workspace。
3. 进入 数据集成 > 数据源管理(或 平台管理 > 数据源管理)。
4. 点击 添加数据源,选择 腾讯云 MongoDB。
5. 填写连接配置与认证信息,详见 参数说明。
6. 点击 连通性测试(参见 数据源连通性测试)。
7. 测试通过后点击 保存 或 保存 & 创建任务。
参数说明
参数 | 说明 | 是否必填 | 默认值 |
数据源名称 | 数据源在工作空间内的唯一标识 | 是 | - |
连接方式 | 腾讯云实例 / 串连接(URL) | 是 | 腾讯云实例 |
地域、实例 | 腾讯云实例方式下选择目标实例 | 腾讯云实例必填 | - |
连接地址 | 串连接方式下的连接串,格式 mongodb://host:port/database | 串连接必填 | - |
用户名 | 数据库连接账号 | 是 | - |
密码 | 数据库连接密码(支持 SSM 凭证托管) | 是 | - |
连接地址示例:
mongodb://10.0.0.1:27017/your_database
在数据接入任务中使用
实时整库
配置项 | 说明 |
来源库 / 集合 | 支持指定库与集合 |
读取模式 | 全量 + 增量 |
离线单表
配置项 | 说明 |
数据来源 | 已配置的腾讯云 MongoDB 数据源 |
库 / 集合 | 从列表中选择数据库与集合 |
最佳实践
实践 | 建议 |
账号权限最小化 | 为同步任务创建专用账号 |
网络打通 | 优先使用内网连接,提升传输性能 |
全量阶段 | 避免在全量同步阶段执行 DDL |
常见问题
Q:连接超时或被拒绝?
A:检查网络连通性与安全组规则,确认目标实例端口(默认 27017)已放通。
Q:实时同步无数据?
A:确认实例为副本集或分片集群模式,且账号具备 Change Streams 读取权限。