简介
MongoDB 是 面向文档 的数据库管理系统,MongoDB 将数据存储为一个文档,数据结构由键值对(key/value)组成。MongoDB 文档类似于 JSON 对象,字段值可以包含其他文档,数组及文档数组。
MongoDB 连接器可连接第三方 MongoDB 数据库并执行操作。用户通过连接器配置来配置 MongoDB 的连接参数,配置成功后便可执行 MongoDB 操作。
连接器配置
MongoDB 连接器支持两种连接形式:
自定义配置方式,用户根据连接器参数进行参数配置。
URI字符串方式,用户输入 MongoDB 连接 URI,例如:"mongodb://localhost:27017"。
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
连接方式 | enum | MongoDB 连接模式,支持自定义配置方式和 URI 字符串方式 | 是 | 无 |
URI 字符串 | string | URI 字符串方式参数,MongoDB 数据库连接 URI,例如:"mongodb://localhost:27017" | 是 | 无 |
服务器地址 | string | 自定义配置方式参数,MongoDB 地址,格式为 host:port,以逗号相隔 | 是 | 无 |
数据库 | string | 自定义配置方式参数,待连接数据库 | 是 | 无 |
用户名 | string | 自定义配置方式参数,用于验证的用户名 | 否 | 无 |
密码 | string | 自定义配置方式参数,用于验证的密码 | 否 | 无 |
认证方式 | string | 自定义配置方式参数,连接 MongoDB 数据的认证方式,支持 SCRAM-SHA-1、SCRAM-SHA-256、PLAIN | 否 | SCRAM-SHA-1 |
认证源 | string | 自定义配置方式参数,MongoDB 数据认证的授权来源 | 否 | 无 |
副本集名称 | string | 自定义配置方式参数,MongoDB 复制集名称 | 否 | 无 |
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
读写超时时间(毫秒) | int | 自定义配置方式参数,读写网络超时时间,默认时间单位为毫秒 | 否 | 30000 |
连接超时时间(毫秒) | int | 自定义配置方式参数,连接 MongoDB 数据库的超时时间,默认时间单位为毫秒 | 否 | 30000 |
启用可重试写入 | bool | 自定义配置方式参数,是否可重试写入,默认为 false,不启用可重试写入 | 否 | false |
连接池最小连接数 | int | 自定义配置方式参数,连接池最小连接数 | 否 | 0 |
连接池最大连接数 | int | 自定义配置方式参数,连接池最大连接数 | 否 | 100 |
连接最大空闲时间(毫秒) | int | 自定义配置方式参数,连接最大空闲时间,默认时间单位为毫秒 | 否 | 0 |
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
服务器选择RTT参考阈值(毫秒) | int | 自定义配置方式参数,MongoDB 数据库服务器选择 RTT 参考阈值,默认时间单位为毫秒 | 否 | 15 |
服务器选择超时时间(毫秒) | int | 自定义配置方式参数,MongoDB 数据库服务器选择超时时间,默认时间单位为毫秒 | 否 | 30000 |
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
Read Concern | enum | 自定义配置方式参数,读关注类型设置,支持 LOCAL、AVAILABLE、MAJORITY、LINEARIZABLE、SNAPSHOT | 否 | MAJORITY |
Read Preference | enum | 自定义配置方式参数,读偏好类型设置,支持 PRIMARY、PRIMARYPREFERRED、SECONDARY、SECONDARYPREFERRED、NEAREST | 否 | PRIMARY |
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
Write Concern | enum | 自定义配置方式参数,写操作确认等级,对应 MongoDB 数据库 writeConcern 参数 | 否 | majority |
写确认超时时间(毫秒) | int | 自定义配置方式参数,写操作超时时间,默认时间单位为毫秒 | 否 | 1000 |
操作说明
MongoDB 连接器的操作分为集合操作、文档操作、索引操作。
集合操作
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
输出
操作执行成功后,输出结果会保存在 message 消息体的 payload;执行失败后,错误信息会保存在 message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 bool 类型,true 表示集合存在,false 表示集合不存在;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器配置,填写配置参数,单击测试连接,测试连接器配置是否正确。
3. 在通用配置中,填入集合名称。
4. 执行成功后,message payload 中包含查询结果。
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
集合最大文档数 | int | 集合最大文档数 | 否 | 无 |
集合最大容量 | int | 集合最大容量,单位为 Byte | 否 | 无 |
输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 bool 类型,true 表示集合创建成功;若集合已存在或执行失败后,则 payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填入待删除的键。
4. 执行成功后,message payload 中保存查询结果;执行失败后,则 Message error 保存报错信息。
执行成功:
集合已存在,则会报错:
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
输出
操作执行成功后,输出结果会保存在 message 消息体的 payload;执行失败后,错误信息会保存在 message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 bool 类型,true 表示集合删除成功;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填写相关参数。
4. 执行成功后,message payload 中保存执行结果;执行失败后,Message error 保存报错信息。
参数配置
不需要填写输入参数。
输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。操作执行成功,返回保存集合名称的 list 数组信息。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 list 类型,成员为 dict 类型,保存集合信息;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
例如:操作执行成功,message payload 如下:
["test_coll2","test_coll","test_coll3"]
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 执行成功后,message payload 中保存执行结果;执行失败后,Message error 则保存报错信息。上例执行成功,返回 list 数组信息:
文档操作
插入文档,支持批量插入文档。
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
文档信息 | list | 文档信息,list 类型,元素为 JSON 字符串格式 | 是 | 无 |
是否按集合顺序插入 | bool | 是否按集合顺序插入 | 否 | false |
输出
操作执行成功后,输出结果会保存在 message 消息体的 payload;执行失败后,错误信息会保存在 message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 list 类型,存储文档的 ObjectID 信息;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
例如:文档插入成功,message payload 如下:
["607e6f6f25e3aa9635c55ef2","607e6f6f25e3aa9635c55ef3"]
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填写相关参数。例如:
item1:
iterm2:
4. 执行成功后,message payload 中保存执行结果;执行失败后,Message error 保存报错信息。上例执行成功,返回 list。
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
查询条件表达式 | string | MongoDB 表达式格式,例如:{'field1': 'value1'}, {'field2': {'$gte': 1, '$lt': 10 }} | 是 | 无 |
排序字段 | string | 排序字段 | 否 | 无 |
降序显示文档 | bool | 是否按排序字段降序显示文档 | 否 | false |
每页文档数量 | int | 查询返回的每页文档数量 | 否 | 无 |
最大文档数量 | int | 查询返回的最大文档数量 | 否 | 无 |
输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 list 类型,成员为 dict 类型,保存文档的信息,键为字段名称,值为字段值,"_id" 字段为文档的 ObjectID 信息;若没有满足条件的文档或执行失败后,则 payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
例如:文档查询成功,message payload 如下:
[{"_id": "607e63275e1e4e04f692d306","name": "ccc","score": 100},{"_id": "607e6f6f25e3aa9635c55ef2","name": "aaa","score": 10}]
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填写相关参数。例如:
4. 执行成功后,message payload 中保存执行结果;执行失败后,Message error 保存报错信息。上例执行成功,返回文档信息。
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
查询条件表达式 | string | MongoDB 表达式格式,例如:{'field1': 'value1'}, {'field2': {'$gte': 1, '$lt': 10 }} | 是 | 无 |
输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 int 类型,表示满足查询条件的文档数量;若没有满足条件的文档或执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填写相关参数。例如:
4. 执行成功后,message payload 中保存执行结果;执行失败后,Message error 保存报错信息。上例执行成功,返回文档数量。
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
查询条件表达式 | string | MongoDB 表达式格式,例如:{'field1': 'value1'}, {'field2': {'$gte': 1, '$lt': 10 }} | 是 | 无 |
待更新内容 | string | 待更新文档信息,JSON 字符串格式 | 是 | 无 |
只更新第一个满足条件的文档 | bool | 是否只更新第一个满足条件的文档 | 否 | 无 |
没有满足查询条件的文档时,创建一个新文档 | bool | 没有满足查询条件的文档时,创建一个新文档 | 否 | 无 |
输出
操作执行成功后,输出结果会保存在Message消息体的payload;执行失败后,错误信息会保存在Message消息体的error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 dict 类型,包含以下字段:满足条件的文档数量 matchedCount、更新的文档数量 modifiedCount、新创建的文档数量 upsertedCount;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
例如:操作执行成功,message payload 如下:
{"matchedCount": 3,"modifiedCount": 3,"upsertedCount": 0}
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填写相关参数。例如:
4. 执行成功后,message payload 中保存查询结果;执行失败后,Message error 保存报错信息。上例执行成功,返回文档更新信息。
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
查询条件表达式 | int | MongoDB 表达式格式,例如:{'field1': 'value1'}, {'field2': {'$gte': 1, '$lt': 10 }} | 是 | 无 |
输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 int 类型,表示已删除的文档数量;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填写相关参数。例如:
4. 执行成功后,message payload 中保存查询结果;执行失败后,Message error 保存报错信息。上例执行成功,返回已删除的文档数量。
索引操作
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
字段名称 | string | 字段名称 | 是 | 无 |
输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为创建的索引名称;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填写相关参数。例如:
4. 执行成功后,message payload 中保存查询结果;执行失败后,Message error 保存报错信息。上例执行成功,索引名称:
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 list 类型,成员为 dict 类型,保存索引信息;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
例如:操作执行成功,message payload 如下:
[{"key": {"_id": 1},"name": "_id_","v": 2},{"key": {"score": 1},"name": "score_1","v": 2}]
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填写相关参数。例如:
4. 执行成功后,message payload 中保存查询结果;执行失败后,message error 保存报错信息。上例执行成功,返回索引信息:
参数配置
参数 | 数据类型 | 描述 | 是否必填 | 默认值 |
集合名称 | string | 集合名称 | 是 | 无 |
索引名称 | string | 索引名称 | 是 | 无 |
输出
操作执行成功后,输出结果会保存在 Message 消息体的 payload;执行失败后,错误信息会保存在 Message 消息体的 error。
组件输出的 message 信息如下:
message 属性 | 值 |
payload | 执行成功后,payload 值为 bool 类型,true 表示索引删除成功;执行失败后,payload 为空 |
error | 执行成功后,error 为空;执行失败后,error 为 dict 类型,包含“Code”和“Description”字段:“Code”字段表示错误类型,“Description”字段表示错误具体信息 |
attribute | 继承上个组件的 attribute 信息 |
variable | 继承上个组件的 variable 信息 |
案例
1. 添加 MongoDB 连接器组件。
2. 新建连接器或选择已创建的连接器。
3. 在通用配置中,填写相关参数。例如:
4. 执行成功后,message payload 中保存查询结果;执行失败后,message error 保存报错信息。上例执行成功: