MongoDB

tap-mongodb (z3z1ma variant)🥇

General purpose, document-based, distributed database.

The tap-mongodb extractor pulls data from MongoDB that can then be sent to a destination using a loader.

Alternate Implementations

Getting Started

Prerequisites

If you haven't already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

Installation and configuration

  1. Add the tap-mongodb extractor to your project using
    meltano add
    :
  2. meltano add extractor tap-mongodb
  3. Configure the tap-mongodb settings using
    meltano config
    :
  4. meltano config tap-mongodb set --interactive
  5. Test that extractor settings are valid using
    meltano config
    :
  6. meltano config tap-mongodb test

Next steps

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:

You can also list these settings using

meltano config
with the 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]

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]

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 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]

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]

Something missing?

This page is generated from a YAML file that you can contribute changes to.

Edit it on GitHub!

Looking for help?

If you're having trouble getting the tap-mongodb extractor to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the
#plugins-general
channel.

Install

meltano add extractor tap-mongodb

Maintenance Status

  • Maintenance Status
  • Built with the Meltano SDK

Repo

https://github.com/z3z1ma/tap-mongodb
  • Stars
  • Forks
  • Last Commit Date
  • Open Issues
  • Open PRs
  • Contributors
  • License

Maintainer

  • Alex Butler

Meltano Stats

  • Total Executions (Last 3 Months)
  • Projects (Last 3 Months)

Keywords

  • meltano_sdkdatabase