Apache Nifi: сначала удалите записи, затем вставьте в MongoDB - PullRequest
1 голос
/ 11 июля 2019

Я хочу очистить коллекцию перед вставкой входящих документов.Коллекция должна всегда отражать те же самые документы, что и документы, поступающие в процессор.

Я попробовал PutMongo с Mode: update, который не будет удалять записи, которые не являются частью входящих документов.

Я попробовал комбинацию DeleteMongo и PutMong с Mode: insert.Но и здесь DeleteMongo удаляет только записи, соответствующие входящим документам.

Мне, вероятно, придется использовать такой подход: https://stackoverflow.com/a/50874847/1071828 и использовать GenerateFlowFile({}) -> DeleteMongo для удаления всех записей коллекции.Это должно произойти до PutMongo.Как связать эти процессоры и отправить исходные документы в PutMongo?

Заранее спасибо!

1 Ответ

0 голосов
/ 11 июля 2019

Попробуйте использовать Процессоры ожидания и уведомления для этого случая.

1. Wait(before PutMongoDB processor)- Until delete happens in MongoDB then insert into MongoDB

2. Notify(after DeleteMongoDB processor)- Once deletes is completed in MongoDB collection then Notify the Wait processor to release the flowfile.
...