MongoDB户端
x/mongodbClient
组件:v0.26.0+ MongoDB客户端组件。用于对MongoDB数据库进行增删改查操作。
# 配置
该组件支持通过server
字段复用共享的连接客户端,避免重复创建连接。详见组件连接复用。
字段 | 类型 | 必填 | 说明 | 默认值 |
---|---|---|---|---|
server | string | 是 | MongoDB服务器地址,格式为mongodb://username:password@host:port/ | 无 |
database | string | 是 | 数据库名称,支持使用组件配置变量进行动态配置 | 无 |
collection | string | 是 | 集合名称,支持使用组件配置变量进行动态配置 | 无 |
opType | string | 是 | 操作类型,可选值:INSERT(插入)、UPDATE(更新)、DELETE(删除)、QUERY(查询) | QUERY |
filter | string | 否 | 过滤条件,JSON格式,如{"age": {"$gte": 18}}。支持使用expr 表达式动态构建 | 无 |
doc | string | 否 | 更新/插入的文档内容,JSON格式,如{"name":"test","age":18}。支持使用expr 表达式 | 无 |
one | bool | 否 | 是否只操作一条数据。true表示单条操作,false表示批量操作 | false |
# 工作原理
- 组件初始化时会根据配置连接到MongoDB服务器
- 接收到消息后,根据opType执行相应的数据库操作:
- INSERT: 插入新文档
- UPDATE: 更新匹配的文档
- DELETE: 删除匹配的文档
- QUERY: 查询匹配的文档
- 操作成功后通过Success链路由,失败则通过Failure链路由
- 组件会自动管理连接的生命周期,包括重连等
# Relation Type
- Success: 以下情况消息发送到
Success
链路:- 插入操作成功完成
- 更新操作成功完成
- 删除操作成功完成
- 查询操作成功完成
- Failure: 以下情况消息发送到
Failure
链路:- 连接MongoDB服务器失败
- 认证失败
- 数据库操作失败
- 配置参数错误
- filter或doc表达式语法错误
# 执行结果
不同操作类型的执行结果会被赋值到消息负荷并传递到下一个节点:
# 查询操作(QUERY)
查询结果会被赋值到消息负荷并传递到下一个节点:
- one=true时返回单个文档对象
- one=false时返回文档列表数组
# 更新操作(UPDATE)
更新操作会将结果信息添加到消息元数据中:
matchedCount
- 匹配的文档数量modifiedCount
- 实际修改的文档数量
# 删除操作(DELETE)
删除操作会将结果信息添加到消息元数据中:
deletedCount
- 实际删除的文档数量
# 插入操作(INSERT)
无更新操作
在 GitHub 上编辑此页 (opens new window)
上次更新: 2024/12/22, 03:38:12