17.3. 对 MongoDB 集合中文档进行操作
在集成中,您可以搜索、更新、删除、计数或添加文档到 MongoDB 集合中。要做到这一点,在流的中间或简单的集成完成连接中添加 MongoDB 连接。
先决条件
- 您创建了 MongoDB 连接。
- 您知道希望连接操作的 MongoDB 集合的名称。
- 您需要创建或编辑集成,而 Fuse Online 会提示您添加到集成中。或者,Fuse Online 提示您选择完成连接。
流程
- 在 Add to Integration 页面中,点您要添加 MongoDB 连接的加号。如果您要添加简单集成完成连接,请跳过这一步。
- 点您要使用的 MongoDB 连接。
- 在 Choose a action 页面中,选择您要连接执行的操作。
要配置操作,在 Collection name 字段中输入您要连接操作的集合名称。
如果您选择了 Insert 操作:
- 您正在配置连接。
- 确保集成通过此 MongoDB 连接的数据包含 JSON 标记,该标记指定要添加到集合中的内容。
- 点击 Next 把这个连接添加到集成。
对于所有其他操作,下表提供了在配置操作的第二个字段中指定什么信息。
第二个字段是一个 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 步骤来捕获响应。
- 点击 Next。
- 可选。如果这是完成连接,请添加 Log 步骤来完成集成。配置日志 步骤 以捕获响应。
结果
这个连接会出现在您添加的集成视觉化中。
后续步骤
将任何其他所需连接添加到流。添加处理数据的任何其他步骤。通过添加任何所需数据映射步骤完成集成。当您配置 MongoDB 连接动作时,如果您在操作表达式中指定了任何 :#variable-name 标识符,请确保将源字段映射到 MongoDB 连接变量字段。