PutMongo 2.0.0

Bundle
org.apache.nifi | nifi-mongodb-nar
Description
Writes the contents of a FlowFile to MongoDB
Tags
insert, mongodb, put, update, write
Input Requirement
REQUIRED
Supports Sensitive Dynamic Properties
false
  • Additional Details for PutMongo 2.0.0

    PutMongo

    Description:

    This processor is a general purpose processor for inserting, upserting and updating MongoDB collections.

    Inserting Documents

    Each flowfile is assumed to contain only a single MongoDB document to be inserted. The contents must be valid JSON. The input the Mongo shell accepts should not be confused with valid JSON. It does not support batch writes at this time.

    Updating and Upserting

    Update Modes

    There are two methods for choosing what gets written to a document when updating:

    • Whole document - the entire document is replaced with the contents of the flowfile.
    • With Operators Enabled - the document in the flowfile content will be assumed to have update operators such as $set and will be used to update particular fields. The whole document will not be replaced.

    There are two ways to update:

    • Update Key - use one or more keys from the document.
    • Update Query - use a totally separate query that is not derived from the document.

    Update Key

    The update key method takes keys from the document and builds a query from them. It will attempt to parse the _id field as an ObjectID type if that is one of the keys that is specified in the configuration field. Multiple keys can be specified by separating them with commas. This configuration field supports Expression Language, so it can be derived in part or entirely from flowfile attributes.

    Update Query

    The update query method takes a valid JSON document as its value and uses it to find one or more documents to update. This field supports Expression Language, so it can be derived in part or entirely from flowfile attributes. It is possible, for instance, to put an attribute named update_query on a flowfile and specify ${update_query} in the configuration field, so it will load the value from the flowfile.

    Upserts

    If the upsert mode is enabled, PutMongo will insert a new document that matches the search criteria (be it a user-supplied query or one built from update keys) and give it the properties that are specified in the JSON document provided in the flowfile content. This feature should be used carefully, as it can result in incomplete data being added to MongoDB.

Properties
System Resource Considerations
Resource Description
MEMORY An instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.
Relationships
Name Description
failure All FlowFiles that cannot be written to MongoDB are routed to this relationship
success All FlowFiles that are written to MongoDB are routed to this relationship
Writes Attributes
Name Description
mongo.put.update.match.count The match count from result if update/upsert is performed, otherwise not set.
mongo.put.update.modify.count The modify count from result if update/upsert is performed, otherwise not set.
mongo.put.upsert.id The '_id' hex value if upsert is performed, otherwise not set.