当前位置: 首页 > 知识库问答 >
问题:

Apache nifi-如何实现“如果在GetMongo处理器中没有找到记录,则继续”

百里骏
2023-03-14

在我的项目中,我将按计划从mongo数据库读取数据,对每一行执行一些处理,然后转发到另一个处理器。

我想确保我从mongo读取的记录都没有被处理过,所以我使用第二个mongoDB集合作为跟踪表。

我希望有这样的逻辑:

    null

如果我使用getmongo处理器,当没有返回记录时,它似乎终止了流。返回结果时,它遵循success路径,但无论如何我都希望终止该路径。对于records和no_records结果,Origine路径是用原始文件触发的,但我认为这对我的流程没有帮助。

我倾向于使用executescript处理器,并通过ECMAScript使用Mongo的db.collection.count()功能,然后我可以在ECMAScript上进行路由,但理想情况下,如果可能的话,我希望使用更干净的选项。

共有1个答案

邹俊豪
2023-03-14

在查看了DetectDuplicate处理器之后,我决定它的缓存性质使它不适合我的目的。

最后,我使用maven原型创建了一个自定义处理器来处理这个逻辑,该逻辑根据查询是否有任何REUSLT,分为matchedunmatched关系。

链接到原型以创建自己的处理器-https://mvnrepository.com/artifact/org.apache.nifi/nifi-processor-bundle-archetype

 类似资料:
  • 问题内容: 我现在正在使用Microsoft SQL,我的代码是: 我希望当[avail]存在时,返回[avail]的值,如果不存在,则返回0或“未找到” 谢谢! 问题答案: 你可以用这个

  • 问题内容: 在PostgreSQL中,我想根据某些条件选择一行,但是如果没有行与该条件匹配,则我想返回第一行。该表实际上包含一个序数列,因此该任务应该更容易(第一行是序数为0的那一行)。例如: 但是在这种情况下,无法保证匹配记录的顺序,因此我无法对其进行排序。使用单个语句执行此操作的方式是什么? 问题答案: 我想根据某些条件选择一行,但是如果没有行与该条件匹配,我想返回第一行 较短(正确) 你实际

  • 我在ReactJS中工作,我通过API从服务器获取数据。我做了一些搜索过滤,我想显示消息,如果没有记录可用?我是ReactJS的初学者,没有太多关于ReactJS的知识。 代码:

  • 我们有一个用C#/WPF/Prism构建的相当大的应用程序。应用程序有几个静态模块和未知数量的动态加载模块。 我的影响范围是静态模块和shell。 我被要求实现一个将重启shell的特性,但只有在查询所有当前打开的模块是否允许重启之后。如果至少有一个模块表示不允许(例如:仍然未保存的更改),则重新启动将被推迟。 现在shell和模块通过进行通信。这意味着我可以发布一个事件,然后查看是否有任何订阅服

  • 在mysql中,我创建了一个查询,希望获取每个日期的最近一个月的数据,如果没有找到特定日期的记录,那么它应该显示0。 我的mysql查询是 仍然得到同样的结果

  • 问题内容: 我正在尝试执行以下查询: 但这会返回错误。基本上,如果该记录的“名称”字段已经存在于另一条记录中,我不想插入一条记录-如何检查新名称是否唯一? 问题答案: 我实际上并不建议您这样做,因为Piskvor和其他人建议的索引是一种更好的方法,但是您实际上可以做您想做的事情: 插入一条记录: 尝试再次插入相同的记录: 插入其他记录: 等等… 更新: 为了防止在两个值相等的情况下出错,您必须命名