在复制活动中配置 MongoDB

本文概述了如何使用数据管道中的复制活动从/向 MongoDB 复制数据。

支持的配置

有关复制活动下每个选项卡的配置,请分别转到以下各部分。

常规

若要配置“常规”设置选项卡,请参阅常规”设置指导。

转到“”选项卡以配置复制活动源。 有关详细配置,请参阅以下内容。

Screenshot showing source tab and the list of properties.

需要以下属性:

  • 数据存储类型:选择“外部”。
  • 连接:从连接列表中选择 MongoDB 连接。 如果不存在连接,则通过选择“新建”创建新的 MongoDB 连接。
  • 数据库:从下拉列表中选择数据库。
  • 集合名称:在 MongoDB 数据库中指定集合的名称。 可以从下拉列表中选择集合,或选择“编辑”以手动输入它。

在“高级”下,可以指定以下字段:

  • 筛选器:使用查询运算符指定选择筛选器。 若要返回集合中的所有文档,请省略此参数或传递空文档 ({})。
  • 游标方法:选择“+ 新建”以指定执行基础查询的方式。 执行查询的方法包括:
    • 项目:指定要在文档中返回的用于投影的字段。 若要返回匹配文档中的所有字段,请省略此参数。
    • 排序:指定查询返回匹配文档的顺序。 有关详细信息,请转到cursor.sort()
    • 限制:指定服务器返回的最大文档数。 有关详细信息,请转到cursor.limit()
    • 跳过:指定要跳过的文档数量以及 MongoDB 开始返回结果的位置。 有关详细信息,请转到cursor.skip()
  • 批大小:指定要在 MongoDB 实例的每个响应批次中返回的文档数。 大多数情况下,修改批大小不会影响用户或应用程序。
  • 其他列:添加其他数据列以存储源文件的相对路径或静态值。 后者支持表达式。

目标

转到“目标”选项卡以配置复制活动目标。 有关详细配置,请参阅以下内容。

Screenshot showing destination tab and the list of properties.

需要以下属性:

  • 数据存储类型:选择“外部”。
  • 连接:从连接列表中选择 MongoDB 连接。 如果不存在连接,则通过选择“新建”创建新的 MongoDB 连接。
  • 数据库:从下拉列表中选择数据库。
  • 集合名称:在 MongoDB 数据库中指定集合的名称。 可以从下拉列表中选择集合,或选择“编辑”以手动输入它。

在“高级”下,可以指定以下字段:

  • 写入行为:介绍如何将数据写入 MongoDB。 允许的值为 InsertUpsert

    Upsert 的行为是,如果已存在具有相同 _id 的文档,则替换该文档;否则将插入该文档。

    注意

    如果未在原始文档中指定 _id,或未通过列映射指定 _id,则服务会自动为文档生成 _id。 这表示必须先确保文档有 ID,才能让 Upsert 按预期工作。

  • 写入批超时:指定超时前等待批插入操作完成的时间。允许的值为 timespan。

  • 写入批大小:此属性控制每批中要写入的文档的大小。 可尝试增大值以提高性能,并在文档大小较大时减小该值。

映射

对于“映射”选项卡配置,请参阅“映射”选项卡下的“配置映射”。如果源和目标均为分层数据,则映射不受支持。

设置

对于“设置”选项卡配置,请转到“设置”选项卡下的“配置其他设置”

表摘要

下表包含有关 MongoDB 中复制活动的详细信息。

源信息

名称 描述 必选 JSON 脚本属性
数据存储类型 你的数据存储类型。 外部 /
Connection 与源数据存储的连接。 < 你的 MongoDB 连接 > 连接
Database 用作源的数据库。 < 你的数据库 > database
集合名称 MongoDB 数据库中集合的名称。 < 你的集合 > collection
Filter 使用查询运算符的选择筛选器。 若要返回集合中的所有文档,请省略此参数或传递空文档 ({})。 < 你的选择筛选器 > filter
游标方法 基础查询的执行方式。 project
sort
limit
skip
cursorMethods:
• project
• sort
• limit
• skip
批次大小 从 MongoDB 实例的每批响应中返回的文档数量。 < 你的写入批大小 >
(默认值为 100)
batchSize
其他列 添加其他数据列以存储源文件的相对路径或静态值。 后者支持表达式。 • 姓名
• 值
additionalColumns:
• 名称
• 值

目标信息

名称 描述 必选 JSON 脚本属性
数据存储类型 你的数据存储类型。 外部 /
Connection 与目标数据存储的连接。 < 你的 MongoDB 连接 > 连接
Database 用作目标的数据库。 < 你的数据库 > database
集合名称 MongoDB 数据库中集合的名称。 < 你的集合 > collection
写入行为 介绍如何将数据写入 MongoDB。 允许的值为 InsertUpsert

Upsert 的行为是,如果已存在具有相同 _id 的文档,则替换该文档;否则将插入该文档。

注意:如果未在原始文档中或未通过列映射指定 _id,则服务会自动为文档生成 _id。 这表示必须先确保文档有 ID,才能让 Upsert 按预期工作。
Insert(默认值)
更新插入
writeBehavior:
• 插入
• 更新插入
写入批处理超时 超时前等待批插入操作完成的时间。 timespan
(默认值为 00:30:00 - 30 分钟)
writeBatchTimeout
写入批大小 控制每批中要写入的文档的大小。 可尝试增大值以提高性能,并在文档大小较大时减小该值。 < 你的写入批大小 > writeBatchSize