The tap-mongodb extractor pulls data from MongoDB that can then be sent to a destination using a loader.
Alternate Implementations
- Airbyte 🥈
- Checkr
- Andy Lu
- Eric Eastwood
- Meltano 🥈
- rudybear
- Stitch Data 🥈
- Steve Hanna
- Wise 🥈
- Alex Butler (default)🥇
Getting Started
Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
Installation and configuration
-
Add the tap-mongodb extractor to your
project using
:meltano add
-
Configure the tap-mongodb
settings using
:meltano config
-
Test that extractor settings are valid using
:meltano config
meltano add extractor tap-mongodb
meltano config tap-mongodb set --interactive
meltano config tap-mongodb test
Next steps
Follow the remaining steps of the Getting Started guide:
If you run into any issues, learn how to get help.
Capabilities
The current capabilities for
tap-mongodb
may have been automatically set when originally added to the Hub. Please review the
capabilities when using this extractor. If you find they are out of date, please
consider updating them by making a pull request to the YAML file that defines the
capabilities for this extractor.
This plugin has the following capabilities:
- about
- batch
- catalog
- discover
- schema-flattening
- state
- stream-maps
You can
override these capabilities or specify additional ones
in your meltano.yml
by adding the capabilities
key.
Settings
The
tap-mongodb
settings that are known to Meltano are documented below. To quickly
find the setting you're looking for, click on any setting name from the list:
batch_config
database_excludes
database_includes
infer_schema_max_docs
mongo
mongo_file_location
optional_replication_key
strategy
stream_prefix
Expand To Show SDK Settings
You can also list these settings using
with the meltano config
list
subcommand:
meltano config tap-mongodb list
You can
override these settings or specify additional ones
in your meltano.yml
by adding the settings
key.
Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.
Batch Config (batch_config)
-
Environment variable:
TAP_MONGODB_BATCH_CONFIG
Batch configuration as defined here.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set batch_config [value]
Database Excludes (database_excludes)
-
Environment variable:
TAP_MONGODB_DATABASE_EXCLUDES
A list of databases to exclude. If this list is empty, no databases will be excluded.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set database_excludes [value]
Database Includes (database_includes)
-
Environment variable:
TAP_MONGODB_DATABASE_INCLUDES
A list of databases to include. If this list is empty, all databases will be included.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set database_includes [value]
Infer Schema Max Docs (infer_schema_max_docs)
-
Environment variable:
TAP_MONGODB_INFER_SCHEMA_MAX_DOCS
-
Default Value:
2000
The maximum number of documents to sample when inferring the schema. This is only used when infer_schema is true.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set infer_schema_max_docs [value]
Mongo (mongo)
-
Environment variable:
TAP_MONGODB_MONGO
These props are passed directly to pymongo MongoClient allowing the tap user full flexibility not provided in other Mongo taps since every kwarg can be tuned.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set mongo [value]
Mongo File Location (mongo_file_location)
-
Environment variable:
TAP_MONGODB_MONGO_FILE_LOCATION
Optional file path, useful if reading mongo configuration from a file.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set mongo_file_location [value]
Optional Replication Key (optional_replication_key)
-
Environment variable:
TAP_MONGODB_OPTIONAL_REPLICATION_KEY
-
Default Value:
false
This setting allows the tap to continue processing if a document is missing the replication key. Useful if a very small percentage of documents are missing the property.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set optional_replication_key [value]
Strategy (strategy)
-
Environment variable:
TAP_MONGODB_STRATEGY
-
Default Value:
raw
The strategy to use for schema resolution. Defaults to 'raw'. The 'raw' strategy uses a relaxed schema using additionalProperties: true to accept the document as-is leaving the target to respect it. Useful for blob or jsonl. The 'envelope' strategy will envelope the document under a key named document
. The target should use a variant type for this key. The 'infer' strategy will infer the schema from the data based on a configurable number of documents.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set strategy [value]
Stream Prefix (stream_prefix)
-
Environment variable:
TAP_MONGODB_STREAM_PREFIX
Optionally add a prefix for all streams, useful if ingesting from multiple shards/clusters via independent tap-mongodb configs. This is applied during catalog generation. Regenerate the catalog to apply a new stream prefix.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set stream_prefix [value]
Expand To Show SDK Settings
Faker Config Locale (faker_config.locale)
-
Environment variable:
TAP_MONGODB_FAKER_CONFIG_LOCALE
One or more LCID locale strings to produce localized output for: https://faker.readthedocs.io/en/master/#localization
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set faker_config locale [value]
Faker Config Seed (faker_config.seed)
-
Environment variable:
TAP_MONGODB_FAKER_CONFIG_SEED
Value to seed the Faker generator for deterministic output: https://faker.readthedocs.io/en/master/#seeding-the-generator
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set faker_config seed [value]
Flattening Enabled (flattening_enabled)
-
Environment variable:
TAP_MONGODB_FLATTENING_ENABLED
'True' to enable schema flattening and automatically expand nested properties.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set flattening_enabled [value]
Flattening Max Depth (flattening_max_depth)
-
Environment variable:
TAP_MONGODB_FLATTENING_MAX_DEPTH
The max depth to flatten schemas.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set flattening_max_depth [value]
Stream Map Config (stream_map_config)
-
Environment variable:
TAP_MONGODB_STREAM_MAP_CONFIG
User-defined config values to be used within map expressions.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set stream_map_config [value]
Stream Maps (stream_maps)
-
Environment variable:
TAP_MONGODB_STREAM_MAPS
Config object for stream maps capability. For more information check out Stream Maps.
Configure this setting directly using the following Meltano command:
meltano config tap-mongodb set stream_maps [value]
Something missing?
This page is generated from a YAML file that you can contribute changes to.
Edit it on GitHub!Looking for help?
#plugins-general
channel.