我使用mongodbkafka连接器v1.1.0作为源连接器,从数据库中读取数据,并在将消息发布到kafka主题之前执行一些数据转换。
但是,问题是它不支持smt,所以在发送有效负载之前,我不得不使用mongodb聚合管道来执行数据转换。
所有这些都很好,除非数据类型不是字符串,mongodb将该类型作为键插入。
有没有一种方法可以使用mongodb聚合管道删除该类型,使其看起来像一个正确构造的json?
实际json负载
{
"messageId":"45581b14-28fe-40cb-a26e-ec7701150830",
"entityId":{
"$numberLong":"813956"
},
"groupId":{
"$numberLong":"151747222"
},
"event":"ENTITY_CREATED",
"payload":"{\"entityId\":813956,\"category\":1,\"timestamp\":\"2020/09/09 11:09:31\"}",
"timestamp":{
"$date":1599617371132
}
}
所需的json负载
{
"messageId":"45581b14-28fe-40cb-a26e-ec7701150830",
"entityId": 813956,
"groupId": 151747222,
"event":"ENTITY_CREATED",
"payload":"{\"entityId\":813956,\"category\":1,\"timestamp\":\"2020/09/09 11:09:31\"}",
"timestamp": "2020/09/09 11:09:31"
}
p、 请注意,我使用的是v3,升级到v4不是一个选项。
暂无答案!
目前还没有任何答案,快来回答吧!