我们可以在 mongodb 中更新/更新记录,但是是否有任何方法或函数可以直接在 mongodb 中更新或更新文档,源系统是 kafka,目标是 mongodb。
问问题
1821 次
2 回答
7
是的,我们可以更新/更新数据。对于更新,您必须在 Kafka 连接器中定义一个参数。并将要更新记录的列列入白名单。属性如下:
document.id.strategy=com.mongodb.kafka.connect.sink.processor.id.strategy.PartialValueStrategy
value.projection.list=tokenNumber
value.projection.type=whitelist
writemodel.strategy=com.mongodb.kafka.connect.sink.writemodel.strategy.UpdateOneTimestampsStrategy
于 2020-03-19T07:09:22.577 回答
0
我苦苦挣扎,终于得到了答案。我使用了以下 Mongodb 接收器连接器
在对他们的文件进行了一段时间的窃听之后,我终于找到了解决方案。
这是我正在使用的确切 mongodb sink 连接器配置
{
"name": "mongodbsync",
"connector.class": "at.grahsl.kafka.connect.mongodb.MongoDbSinkConnector",
"topics": "alpha-foobar",
"mongodb.connection.uri": "mongodb://localhost:27017/kafkaconnect?w=1&journal=true",
"mongodb.document.id.strategy": "at.grahsl.kafka.connect.mongodb.processor.id.strategy.ProvidedInValueStrategy"
}
我mongodb.writemodel.strategy
在配置中留空,所以它采用默认配置
我使用了来自同一连接器的github的以下文档的用例 2
我正在处理这种情况,将 mysql 表数据传输kafka-jdbc-source connect
到mongodb sink
.
上述策略也可以在官方文档中找到。如果您有任何疑问,请随时提出。谢谢
于 2020-03-16T11:36:28.977 回答