1
0
mirror of synced 2026-01-10 00:03:08 -05:00
Files
airbyte/docs/integrations/destinations/mongodb.md

101 lines
3.9 KiB
Markdown

# MongoDB
## Features
| Feature | Supported?\(Yes/No\) | Notes |
| :--- | :--- | :--- |
| Full Refresh Sync | Yes | |
| Incremental - Append Sync | Yes | |
| Incremental - Deduped History | No | As this connector does not support dbt, we don't support this sync mode on this destination. |
| Namespaces | Yes | |
## Output Schema for `destination-mongodb`
Each stream will be output into its own collection in MongoDB. Each collection will contain 3 fields:
* `_id`: an identifier assigned to each document that is processed. The filed type in MongoDB is `String`.
* `_airbyte_emitted_at`: a timestamp representing when the event was pulled from the data source. The field type in MongoDB is `Timestamp`.
* `_airbyte_data`: a json blob representing with the event data. The field type in MongoDB is `Object`.
## Getting Started \(Airbyte Cloud\)
Airbyte Cloud only supports connecting to your MongoDB instance with TLS encryption. Other than that, you can proceed with the open-source instructions below.
## Getting Started \(Airbyte Open-Source\)
#### Requirements
To use the MongoDB destination, you'll need:
* A MongoDB server
#### **Permissions**
You need a MongoDB user that can create collections and write documents. We highly recommend creating an Airbyte-specific user for this purpose.
#### Target Database
You will need to choose an existing database or create a new database that will be used to store synced data from Airbyte.
### Setup the MongoDB destination in Airbyte
You should now have all the requirements needed to configure MongoDB as a destination in the UI. You'll need the following information to configure the MongoDB destination:
* **Standalone MongoDb instance**
* Host: URL of the database
* Port: Port to use for connecting to the database
* TLS: indicates whether to create encrypted connection
* **Replica Set**
* Server addresses: the members of a replica set
* Replica Set: A replica set name
* **MongoDb Atlas Cluster**
* Cluster URL: URL of a cluster to connect to
* **Database**
* **Username**
* **Password**
For more information regarding configuration parameters, please see [MongoDb Documentation](https://docs.mongodb.com/drivers/java/sync/v4.3/fundamentals/connection/).
## Naming Conventions
The following information comes from the [MongoDB Limits and Thresholds](https://docs.mongodb.com/manual/reference/limits/) documentation.
#### Database Name Case Sensitivity
Since database names are case insensitive in MongoDB, database names cannot differ only by the case of the characters.
#### Restrictions on Database Names for Windows
For MongoDB deployments running on Windows, database names cannot contain any of the following characters: /. "$_<>:\|?_
Also database names cannot contain the null character.
#### Restrictions on Database Names for Unix and Linux Systems
For MongoDB deployments running on Unix and Linux systems, database names cannot contain any of the following characters: /. "$
Also database names cannot contain the null character.
#### Length of Database Names
Database names cannot be empty and must have fewer than 64 characters.
#### Restriction on Collection Names
Collection names should begin with an underscore or a letter character, and cannot:
* contain the $.
* be an empty string \(e.g. ""\).
* contain the null character.
* begin with the system. prefix. \(Reserved for internal use.\)
## Changelog
| Version | Date | Pull Request | Subject |
| :--- | :--- | :--- | :--- |
| 0.1.4 | 2022-02-14 | [10256](https://github.com/airbytehq/airbyte/pull/10256) | (unpublished) Add `-XX:+ExitOnOutOfMemoryError` JVM option |
| 0.1.3 | 2021-12-30 | [8809](https://github.com/airbytehq/airbyte/pull/8809) | Update connector fields title/description |
| 0.1.2 | 2021-10-18 | [6945](https://github.com/airbytehq/airbyte/pull/6945) | Create a secure-only MongoDb destination |
| 0.1.1 | 2021-09-29 | [6536](https://github.com/airbytehq/airbyte/pull/6536) | Destination MongoDb: added support via TLS/SSL |