GetMongoRecord Processor
描述
GetMongo 的基于记录的版本,使用Record Writer写入 MongoDB 结果集。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| Client Service | | 控制器服务 API:MongoDBClientServicecn.org.acal.lynxus-lynxus-mongodb-client-service-api-nar-2.11.8 | 如果配置,此属性将使用分配的客户端服务进行连接池。 |
| Record Writer | | 控制器服务 API:RecordSetWriterFactorycn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 用于写入结果集的Record Writer。 |
| Mongo Database Name | | 要使用的数据库的名称 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Mongo Collection Name | | 要使用的集合的名称 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Schema Name | ${schema.name} | 已配置架构Registry中用于查询结果的架构名称。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Query Output Attribute | | 如果设置,查询将被写入输出 FlowFiles 上的指定属性。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Query | | 选择用于查找的条件。如果该字段留空,将从另一个处理器的传入连接中获取查询,作为 FlowFile 正文中的有效 JSON 文档。如果该字段留空且启用了定时器而非传入连接,将导致使用 "{}" 查询进行完整集合获取。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Projection | | 从结果集中的文档返回的字段; 必须是有效的 BSON 文档 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Sort | | 排序依据的字段; 必须是有效的 BSON 文档 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Limit | | 返回的最大元素数 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Batch Size | | 一批从服务器返回的元素数量 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) |
关系 (Relationships)
| 名称 | 描述 | 自动终止 |
|---|---|---|
failure | 作为失败查询执行一部分的所有输入FlowFile都位于此处。 | 否 |
original | 成功执行查询的所有输入FlowFile都位于此处。 | 否 |
success | 所有具有成功查询执行结果的 FlowFile 都位于此处。 | 否 |
写入的 FlowFile 属性
| 名称 | 描述 |
|---|---|
mongo.database.name | 结果来自的数据库。 |
mongo.collection.name | 结果来自的集合。 |
状态管理
该组件不存储状态。
受限 (Restricted)
该组件不受限。
输入要求
该组件允许有传入连接。
详细说明
GetMongoRecord
说明
该 Processor 对 MongoDB 实例或集群执行查询,并把结果写入 FlowFile。它接受输入,也可以独立运行。它是 GetMongo Processor 的记录感知(record-aware)版本。
指定查询
查询可以通过以下三种方式之一指定:
- Query 配置属性。
- Query Attribute 配置属性。
- FlowFile 内容。
如果在任一配置属性中指定了值,就不会再从 FlowFile 内容中查找查询。
限制/整形结果
提供以下限制/整形结果的选项:
- Limit - 限制结果数量。不要与 "batch size" 选项混淆,后者是底层 MongoDB 驱动的设置,用于告知每次轮询服务器时获取多少条。
- Sort - 对结果集排序。需要类似 { "someDate": -1 } 的 JSON 文档
- Projection - 控制返回哪些字段。例如,移除 _id:{ "_id": 0 }
其他选项
设置 Results Per FlowFile 后,会把一批结果组成一个 JSON 数组并写入 输出。启用 Pretty Print 后,会把 JSON 数据格式化为便于人类阅读的 形式(例如字段适当缩进)。