добавить значение поля во встроенный объект массива json в монго через коннектор приемника kafka mongo

Опубликовать первую вставку:

{"Customer_id": 2, "transaction_id": "1", "idd": [999, 1111], "id": 1}

а затем второй:

{"Customer_id": 2, "transaction_id": "2", "idd": [9, 10], "id": 1}

требуемый результат:

{"Customer_id": 2, "transaction_id": "2", "idd": [[9, 10] , [999, 1111]], "id": 1}

что я получаю:

{"Customer_id": 2, "transaction_id": "2", "idd": [9, 10] , "id": 1}

стратегия обновления этот массив обновлений не добавляется, но мой ожидаемый результат для добавления массива

конфигурация:

document.id.strategy=com.mongodb.kafka.connect.sink.processor.id.strategy.PartialValueStrategy
value.projection.list=customer_id,transaction_id
value.projection.type=whitelist
writemodel.strategy=com.mongodb.kafka.connect.sink.writemodel.strategy.ReplaceOneBusinessKeyStrategy

как мы можем это сделать через коннектор раковины mongo-kafka

1 ответ

Похоже, вы пытаетесь агрегировать потоковые данные

Если MongoDB каким-то образом не сможет предоставить эту функциональность, вставив тот же идентификатор документа (в чем я сомневаюсь, потому что откуда он знает, что вы хотите собирать только поле idd?), Вам придется использовать Kafka Streams / KSQL или другой уровень обработки с отслеживанием состояния, чтобы агрегировать ваши ценности. Коннектор приемника просто пересылает все, что видит, в базу данных; соединитель не знает предыдущих записей

Другие вопросы по тегам