我正在使用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端在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"
提前申请任何帮助。 非常感谢, 声纳