MongoDB Collection
Last updated
Was this helpful?
Last updated
Was this helpful?
is a scalable, flexible NoSQL document database platform known for its horizontal scaling and load balancing capabilities, which has given application developers an unprecedented level of flexibility and scalability.
Please review the following considerations prior to setting up your MongoDB Collection data sync source:
We currently only support SCRAM authentication (Mongo 4.0+).
Syncs are column based. This means that you must flatten the MongoDB source document prior to sync by using a projection (See section 2: Projection (JSON Object)).
The column names used in the source must match elements on the root object, with the exception of "$" which can be used to retrieve the full document.
By default, MongoDB batch size is 101.
By default, bulk operations size is 5000.
Due to a conversion of doubles to decimals that occurs during the sync process, minor data losses may occur.
The following data types are not supported:
Binary Data
Regular Expression
DBPointer
JavaScript
JavaScript code with scope
Symbol
Min Key
Max Key
The following data types are supported with conversions:
ObjectID is supported, but converted to string
Object is supported, but converted to JSON
Array is supported, but converted to JSON
Timestamp is supported, but converted to 64-bit integers
The MongoDB Collection source supports batch syncs. (To enable real-time syncs with MongoDB, use the MongoDB Collection (Cinchy Event Triggered) source instead.)
You can review the parameters that can be found in the info tab below (Image 1).
Title
Mandatory. Input a name for your data sync
MongoDB to Cinchy
Version
Mandatory. This is a pre-populated field containing a version number for your data sync. You can override it if you wish.
1.0.0
Parameters
The following table outlines the mandatory and optional parameters you will find on the Source tab (Image 2).
The following parameters will help to define your data sync source and how it functions.
Source
Mandatory. Select your source from the drop down menu.
MongoDB Collection
Connection String
Example (Default):
mongodb+srv://<username>:<password>@<mongo host URI>
Example (Against different database):
mongodb+srv://<username>:<password>@<mongo host URI>?authSource=<authentication_db>
Database
Blog
Collection
Article
Type
Query (JSON Object)
A query for retrieving your data. This option appears if you have selected db.collection.find().
Projection (JSON Object)
This option appears if you have selected db.collection.find(). Syncs are column based. This means that you must flatten the MongoDB source document prior to sync using a projection.
Pipeline (JSON Array of Objects)
Use SSL
To run a batch sync, select Jobs > Start Job.
The MongoDB Collection Data Source obtains BSON documents from MongoDB. BSON, short for Binary JSON, is a binary-encoded serialization of JSON-like documents. Like JSON, BSON supÂports the emÂbedÂding of docÂuÂments and arÂrays
withÂin other documents and arrays. BSON also conÂtains extensions that allow representation of data types that are not part of the JSON spec. For exÂample BSON makes a distinction between Int32 and Int64.
The following table shows how MongoDB data types are translated in Cinchy.
Double
Number
Supported
String
Text
Supported
Object
Text (JSON)
Supported
Array
Text (JSON)
Supported
Binary Data
Binary
Unsupported
ObjectId
Text
Supported
Boolean
Bool
Supported
Date
Date
Supported
Null
-
Supported
RegEx
-
Unsupported
JavaScript
-
Unsupported
Timestamp
Number
Supported
32-bit Integer
Number
Supported
64-bit Integer
Number
Supported
Decimal28
Number
Supported
Min Key
-
Unsupported
Max Key
-
Unsupported
-
Geography
Unsupported
-
Geometry
Unsupported
Optional. Review our for more information about this field.
Mandatory. This is the encrypted connection string. You can review MongoDB's Connection String guide and parameter descriptions Do not include the /[database] in your connection URL. By default services like MongoDB Atlas will automatically include it when copying the connection string. If authenticating against a database other than the admin db, please provide the name of the database associated with the user’s credentials using the authSource parameter.
Mandatory. The name of the that contains the collection listed in the "Collection" parameter.
Mandatory. The name of your
Mandatory. The method for retrieving your data. This will be either: - db.collection.find(): This method is used to select documents in a collection when there is no need to transform (e.g. flatten or aggregate) the data. It is used for basic queries where query and projection are sufficient. - db.collection.aggregate(): This method is used when there is a need to transform the data in a collection. It is used for more complex scenarios with single or multi-stages pipelines. In general, you will yield the quickest performance by using the find method, unless you need a
consists of one or more stages that process documents. This option appears if you have selected db.collection.aggregate().
This checkbox can be used to define the use of authentication for your sync. If checked, you will need to input the following values taken from your cert: - SSL Key PEM - SSL Certificate PEM - SSL CLA PEM
The section is where you define which source columns you want to sync in your connection. You can repeat the values for multiple columns.
Mandatory. The data type of the column values.
Configure your
Define your.
Add in your , if required.
Define your .
To run a real-time sync (using the Cinchy Event Triggered MongoDB Source), and enable it to begin your sync.