17.3. 对 MongoDB 集合中文档进行操作


在集成中,您可以搜索、更新、删除、计数或添加文档到 MongoDB 集合中。要做到这一点,在流的中间或简单的集成完成连接中添加 MongoDB 连接。

先决条件

  • 您创建了 MongoDB 连接。
  • 您知道希望连接操作的 MongoDB 集合的名称。
  • 您需要创建或编辑集成,而 Fuse Online 会提示您添加到集成中。或者,Fuse Online 提示您选择完成连接。

流程

  1. Add to Integration 页面中,点您要添加 MongoDB 连接的加号。如果您要添加简单集成完成连接,请跳过这一步。
  2. 点您要使用的 MongoDB 连接。
  3. Choose a action 页面中,选择您要连接执行的操作。
  4. 要配置操作,在 Collection name 字段中输入您要连接操作的集合名称。

    如果您选择了 Insert 操作:

    • 您正在配置连接。
    • 确保集成通过此 MongoDB 连接的数据包含 JSON 标记,该标记指定要添加到集合中的内容。
    • 点击 Next 把这个连接添加到集成。
  5. 对于所有其他操作,下表提供了在配置操作的第二个字段中指定什么信息。

    第二个字段是一个 JSON 表示法表达式,用于标识要操作的文档,以及可能需要操作的详细信息。如果您计划将传入的源字段映射到表达式中的标识符,请在表达式中指定 :#variable-name

    为了完整性,此表还介绍了 Insert 操作。

    Expand
    操作它做什么参数字段返回

    数量

    计算满足您指定的计数表达式的文档数量。

    Count 表达式 字段中,以 {"test":"unit"} 的形式指定 JSON 过滤器表达式。该操作将统计具有 test 属性值的文档 数量

    java.lang.Long 的一个实例,它指定找到的文档数量。

    删除

    从集合中删除一个或多个文档。

    Delete expression 字段中,以 {"test":"unit"} 的形式指定一个 JSON 表达式。该操作将删除其 test 属性的值为 unit 的每个文档。

    java.lang.Long 的实例,用于指定已删除的文档数量。

    find

    查找与您指定的过滤表达式匹配的所有文档。

    Filter 表达式 字段中,指定用于标识一个或多个文档的 JSON 表示法字符串。

    指定列表(数组)的 JSON 符号。每个列表元素标识了与过滤表达式匹配的文档,并提供文档内容。如果没有找到文档,则操作会返回一个空列表。

    您必须熟悉集合的数据模型。如果集合遵循 JSON 模式,您必须熟悉此 schema,因为返回的列表元素遵循这个 schema。如需更多信息,请参阅 MongoDB Data Models

    要在后续数据映射程序步骤中使用 Find 操作的输出数据,集合必须遵循 JSON 模式。这可让数据映射程序显示数据字段。如需更多信息,请参阅 JSON 模式验证的 MongoDB 文档

    insert

    在集合中添加一个或多个文档。

    没有用于插入文档的操作配置参数。来自 MongoDB 连接的数据必须包含 JSON 标记,用于指定添加到集合中的一个或多个文档。

    指定列表(数组)的 JSON 符号。每个列表元素都是操作插入的文档。

    Update(更新)

    更新集合中的一个或多个文档。

    Filter criteria 字段中,指定 2 个参数的数组。第一个参数是一个过滤器表达式,用于标识要更新的文档。第二个参数是 MongoDB 更新声明,它指定如何更新文档。更新声明格式在 https://docs.mongodb.com/manual/reference/method/db.collection.update/ 中描述。例如: [{"_id":11},{$set: {"test":"updated!"}}]

    java.lang.Long 的实例指定更新的文档数量。

    upsert

    更新集合中一个或多个文档,如果没有与 Upsert 表达式匹配,请创建一个文档。

    Upsert 表达式 字段中,指定用于标识一个或多个文档的 JSON 符号。该操作将使用此表达式来检测任何匹配的文档。如果操作在集合中找到匹配的文档,则会更新它。如果操作找不到匹配的文档,则操作会创建一个新文档。进入 MongoDB 连接的数据必须包含指定:

    * _id 字段可以识别它是插入还是更新操作。

    * 添加或更新的内容。

    com.mongodb.client.result.UpdateResult 的实例,用于指定更新文档的数量或插入的新文档 ID。

    每个操作都会返回一个响应。如果这是一个完成连接,则响应将会丢失,但您可以添加一个 Log 步骤来捕获响应。

  6. 点击 Next
  7. 可选。如果这是完成连接,请添加 Log 步骤来完成集成。配置日志 步骤 以捕获响应。

结果

这个连接会出现在您添加的集成视觉化中。

后续步骤

将任何其他所需连接添加到流。添加处理数据的任何其他步骤。通过添加任何所需数据映射步骤完成集成。当您配置 MongoDB 连接动作时,如果您在操作表达式中指定了任何 :#variable-name 标识符,请确保将源字段映射到 MongoDB 连接变量字段。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部