首页 > 解决方案 > MongoDB 上的 Kafka-Connect-MongoDB Sink 连接器更新问题

问题描述

我正在使用 JDBC 源和 kafka-connect-mongodb 接收器连接器将数据从 JDBC 流式传输到 MongoDB。

到目前为止,我能够通过以下配置在 MongoDB 端将所有插入和更新作为新文档(是的,更新作为新文档插入) ;

回购: https ://github.com/hpgrahsl/kafka-connect-mongodb

配置:

"mongodb.document.id.strategy":"at.grahsl.kafka.connect.mongodb.processor.id.strategy.BsonOidStrategy",
"mongodb.post.processor.chain":"at.grahsl.kafka.connect.mongodb.processor.DocumentIdAdder",
"mongodb.delete.on.null.values":false,
"mongodb.writemodel.strategy":"at.grahsl.kafka.connect.mongodb.writemodel.strategy.ReplaceOneDefaultStrategy"

我现在想要实现的是更新文档,以防在 Oracle 端更新一行

使用以下配置,我只能将在 Oracle 端完成的最后一次插入或更新作为单个文档放入 MongoDB 集合中。我的意思是我在 MongoDB 中发现的是一个包含一个文档的集合,这是最后一个操作。

"mongodb.document.id.strategy":"at.grahsl.kafka.connect.mongodb.processor.id.strategy.PartialValueStrategy",
"mongodb.key.projection.list": "name,surname",
"mongodb.key.projection.type":"whitelist",
"mongodb.post.processor.chain":"at.grahsl.kafka.connect.mongodb.processor.DocumentIdAdder",
"mongodb.writemodel.strategy":"at.grahsl.kafka.connect.mongodb.writemodel.strategy.ReplaceOneBusinessKeyStrategy"

提前申请任何帮助。非常感谢, 索纳

标签: mongodbapache-kafkaapache-kafka-connectupsert

解决方案


推荐阅读