Github user mattyb149 commented on a diff in the pull request:
https://github.com/apache/nifi/pull/2443#discussion_r170600330
--- Diff:
nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
---
@@ -236,12 +261,33 @@ public void onTrigger(final ProcessContext context,
final ProcessSession session
context.getProperty(QUERY).evaluateAttributeExpressions().getValue());
}
- final Document query = context.getProperty(QUERY).isSet()
- ?
Document.parse(context.getProperty(QUERY).evaluateAttributeExpressions().getValue())
: null;
+ final Document query;
+ if (context.getProperty(QUERY).isSet()) {
+ String queryStr =
context.getProperty(QUERY).evaluateAttributeExpressions(input).getValue();
+ query = Document.parse(queryStr);
+ } else if (!context.getProperty(QUERY).isSet() && input == null) {
+ query = Document.parse("{}");
--- End diff --
The documentation for the Query property says that if there is no incoming
connection and Query is not set, then it results in an error. But this like
issues an empty query which appears to fetch all results.
Also please check line 234 above, looks like we need to do that later,
after "queryStr" is populated for example. Currently the Query Attribute will
not be populated if there is an incoming flow file.
---