Skip to main content

MongoDBLookupService

Description

Provides a lookup service based around MongoDB. Each key that is specified will be added to a query as-is. For example, if you specify the two keys, user and email, the resulting query will be { "user": "tester", "email": "tester@test.com" }. The query is limited to the first result (findOne in the Mongo documentation). If no "Lookup Value Field" is specified then the entire MongoDB result document minus the _id field will be returned as a record.

Tags

lookup, mongo, mongodb, record

Properties

In the list below required Properties are shown with an asterisk (*). Other properties are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Schema Access Strategy *schema-access-strategyInfer from Result
  • Use 'Schema Name' Property
  • Use 'Schema Text' Property
  • Infer from Result
Specifies how to obtain the schema that is to be used for interpreting the data.
Schema Registryschema-registryController Service:
SchemaRegistry

Implementations:
AmazonGlueSchemaRegistry
ApicurioSchemaRegistry
AvroSchemaRegistry
ConfluentSchemaRegistry
Specifies the Controller Service to use for the Schema Registry

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-reference-reader or schema-name
Schema Nameschema-name${schema.name}Specifies the name of the schema to lookup in the Schema Registry property

Supports Expression Language, using Environment variables.

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-name
Schema Versionschema-versionSpecifies the version of the schema to lookup in the Schema Registry. If not specified then the latest version of the schema will be retrieved.

Supports Expression Language, using FlowFile attributes and Environment variables.

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-name
Schema Branchschema-branchSpecifies the name of the branch to use when looking up the schema in the Schema Registry property. If the chosen Schema Registry does not support branching, this value will be ignored.

Supports Expression Language, using FlowFile attributes and Environment variables.

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-name
Schema Textschema-text${avro.schema}The text of an Avro-formatted Schema

Supports Expression Language, using FlowFile attributes and Environment variables.

This property is only considered if:
  • the property Schema Access Strategy has a value of schema-text-property
Client Service *mongo-lookup-client-serviceController Service:
MongoDBClientService

Implementations:
MongoDBControllerService
A MongoDB controller service to use with this lookup service.
Mongo Database Name *mongo-db-nameThe name of the database to use

Supports Expression Language, using FlowFile attributes and Environment variables.
Mongo Collection Name *mongo-collection-nameThe name of the collection to use

Supports Expression Language, using FlowFile attributes and Environment variables.
Lookup Value Fieldmongo-lookup-value-fieldThe field whose value will be returned when the lookup key(s) match a record. If not specified then the entire MongoDB result document minus the _id field will be returned as a record.
Projectionmongo-lookup-projectionSpecifies a projection for limiting which fields will be returned.

State Management

This component does not store state.

Restricted

This component is not restricted.

System Resource Considerations

This component does not specify system resource considerations.

See Also