> For the complete documentation index, see [llms.txt](https://upsolver.gitbook.io/content/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://upsolver.gitbook.io/content/reference-1/learning-paths/mongodb.md).

# MongoDB

## Steps

1. [Enable CDC](https://www.mongodb.com/docs/manual/tutorial/deploy-replica-set/) for your source MongoDB database.&#x20;
2. Create a [connection](/content/reference-1/sql-commands/connections/create-connection/mongodb.md) to your source MongoDB database.
3. Create a connection to your target (see the **Supported Targets** list below for links).
4. Create the entities for your target per the list in the **Job Type & Steps** column below. Note that there are multiple options for ingesting to Snowflake:&#x20;

<table><thead><tr><th width="504">Job Type &#x26; Steps</th><th width="239">Supported Targets </th></tr></thead><tbody><tr><td><p></p><p><strong>Ingestion Job</strong></p><ul><li>Create a staging <a href="/pages/3g07e3Ev48sH2HZvx7da">table</a> in the data lake</li><li>Create an <a href="/pages/exS6qOYXal4UTv9QNTfP">ingestion job</a> to load data into the staging table</li><li>Create a <a href="/pages/4rIbxsHcQiFNDE7uqhxl">transformation job</a> for each target</li></ul></td><td><ul><li><a href="/pages/DBmhNKF418YpQkCd3Rut">Amazon Redshift</a></li><li><a href="/pages/Rm97wFjhDXyCMY8Bz3F6">Amazon S3</a></li><li><a href="/pages/sMpvNIHMkXGRDRHDbiEw">AWS Glue Data Catalog</a></li><li><a href="/pages/b6bD5oKYDKSrTRzWIPVA">ClickHouse</a></li><li><a href="/pages/z2vaKDhhblkvM7pU7dTP">Elasticsearch</a></li><li><a href="/pages/hniDy12begtracE6wMNE">Polaris Catalog</a></li><li><a href="/pages/talqTSYMj6qLogJjnfax">PostgreSQL</a></li><li><a href="/pages/0UHsp6giBAPFXi67HzaN">Snowflake</a></li></ul></td></tr><tr><td><p></p><p><strong>Replication Job</strong></p><ul><li>Create a <a href="/pages/HkkH3vvR2TePK4h4mHWJ">replication job</a> to ingest into multiple target schemas </li></ul></td><td><ul><li><a href="/pages/DBmhNKF418YpQkCd3Rut">Amazon Redshift</a></li><li><a href="/pages/sMpvNIHMkXGRDRHDbiEw">AWS Glue Data Catalog</a></li><li><a href="/pages/hniDy12begtracE6wMNE">Polaris Catalog</a></li><li><a href="/pages/0UHsp6giBAPFXi67HzaN">Snowflake</a></li></ul></td></tr><tr><td><p></p><p><strong>Single Entity Job</strong></p><ul><li>Create a staging <a href="/pages/3g07e3Ev48sH2HZvx7da">table</a> in the data lake</li><li>Create an <a href="/pages/exS6qOYXal4UTv9QNTfP">ingestion job</a> to load data into the staging table</li><li>Create a <a href="/spaces/cdvgoTfSPTA9swikhXwX/pages/cr2DpsRswfrtmNwnop7Q">single entity job</a> that auto-creates a sub-job for each source table to copy data to the target table</li></ul></td><td><p></p><ul><li><a href="/pages/DBmhNKF418YpQkCd3Rut">Amazon Redshift</a> </li><li><a href="/pages/sMpvNIHMkXGRDRHDbiEw">AWS Glue Data Catalog</a></li><li><a href="/pages/hniDy12begtracE6wMNE">Polaris Catalog</a></li><li><a href="/pages/0UHsp6giBAPFXi67HzaN">Snowflake</a></li></ul></td></tr></tbody></table>

{% hint style="success" %}
**No-code Wizard**

Alternatively, you can use the [Upsolver no-code Wizard](/content/quickstarts-1/data-ingestion-wizard/using-the-wizard.md) to get your pipelines started in super-quick time. The Wizard generates the code for you so you can optionally customize it for your requirements, and create advanced use cases.&#x20;
{% endhint %}

***

## Related Content

#### Quickstarts

* [Create a MongoDB Connection](/content/quickstarts-1/connectors/connectors/mongodb.md)
* [Ingest CDC Data from Your MongoDB Database](/content/quickstarts-1/jobs/ingestion/cdc-sources/mongodb.md)

#### How To Guides

* [Create and Maintain Connections to Your MongoDB Database](/content/how-to-guides-1/connectors/create-connections/mongodb.md)
* [Enable CDC on Your MongoDB Database](/content/how-to-guides-1/connectors/enable-cdc/mongodb.md)
* [Replicate CDC Data to Multiple Schemas in Your Targets](/content/reference-1/sql-commands/jobs/create-job/replication.md)
* [Ingest Your MongoDB CDC Data to Snowflake](/content/how-to-guides-1/jobs/database-replication/ingest-your-mongodb-cdc-data-to-snowflake.md)

#### Reference

* [Connection Options for MongoDB](/content/reference-1/sql-commands/connections/create-connection/mongodb.md)
* [Ingestion Job Options for MongoDB](/content/reference-1/sql-commands/jobs/create-job/ingestion/mongodb.md)
* [Replication Job Options for MongoDB](/content/reference-1/sql-commands/jobs/create-job/replication.md)

#### Articles

* [Ingest Data Using CDC](/content/articles-1/jobs/ingest-data-using-cdc.md)
* [Performing Snapshots](/content/articles-1/jobs/ingest-data-using-cdc/performing-snapshots.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://upsolver.gitbook.io/content/reference-1/learning-paths/mongodb.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
