Cinchy Platform Documentation
Cinchy v5.7
Cinchy v5.7
  • Data Collaboration Overview
  • Release notes
    • Release notes
      • 5.7 Release Notes
      • 5.6 Release Notes
      • 5.5 Release Notes
      • 5.4 Release Notes
      • 5.3 Release Notes
      • 5.2 Release Notes
      • 5.1 Release Notes
      • 5.0 Release Notes
  • Support
  • Glossary
  • FAQ
  • Deployment guide
    • Deploying Cinchy
      • Plan your deployment
        • Deployment architecture
          • Kubernetes architecture
          • IIS architecture
        • Deployment prerequisites
          • Single Sign-On (SSO) integration
            • Enable TLS 1.2
            • Configure ADFS
            • AD Group Integration
      • Kubernetes
        • Disable your Kubernetes applications
        • Change your file storage configuration
        • Configure AWS IAM for Connections
        • Use Self-Signed SSL Certs (Kubernetes)
        • Deploy the CLI (Kubernetes)
      • IIS
  • Upgrade guide
    • Upgrade Cinchy
      • Cinchy Upgrade Utility
      • Kubernetes upgrades
        • v5.1 (Kubernetes)
        • v5.2 (Kubernetes)
        • v5.3 (Kubernetes)
        • v5.4 (Kubernetes)
        • v5.5 (Kubernetes)
        • v5.6 (Kubernetes)
        • v5.7 (Kubernetes)
        • Upgrade AWS EKS Kubernetes version
        • Update the Kubernetes Image Registry
        • Upgrade Azure Kubernetes Service (AKS)
      • IIS upgrades
        • v4.21 (IIS)
        • v4.x to v5.x (IIS)
        • v5.1 (IIS)
        • v5.2 (IIS)
        • v5.3 (IIS)
        • v5.4 (IIS)
        • v5.5 (IIS)
        • v5.6 (IIS)
        • v5.7 (IIS)
      • Upgrading from v4 to v5
  • Guides for using Cinchy
    • User Guide
      • Data Browser overview
      • The Admin panel
      • User preferences
        • Personal access tokens
      • Table features
      • Data management
      • Queries
      • Version management
        • Versioning best practices
      • Commentary
    • Builder Guide
      • Best practices
      • Create tables
        • Attach files
        • Columns
        • Data controls
          • Data entitlements
          • Data erasure
          • Data compression
        • Formatting rules
        • Indexing & partitioning
        • Linking data
        • Table and column GUIDs
        • System tables
      • Delete tables
        • Restore tables, columns, and rows
      • Saved queries
      • CinchyDXD
        • Build the data experience
        • Package the data experience
        • Install the data experience
        • Update the data experience
        • Repackage the data experience
        • Reinstall the data experience
      • Multilingual support
      • Integration guides
    • Administrator Guide
    • Additional guides
      • Monitor and Log on Kubernetes
        • Grafana
        • OpenSearch dashboards
          • Set up Alerts
        • Monitor via ArgoCD
      • Maintenance
      • Cinchy Secrets Manager
      • GraphQL (Beta)
      • System properties
      • Enable Data At Rest Encryption (DARE)
      • MDQE
      • Application experiences
        • Network map
          • Custom node results
          • Custom results in the Network Map
        • Set up experiences
  • API Guide
    • API overview
      • API authentication
      • API saved queries
      • ExecuteCQL
      • Webhook ingestion
  • CQL
    • Overview
      • CQL examples
      • CQL statements overview
        • Cinchy DML statements
        • Cinchy DDL statements
      • Cinchy supported functions
        • Cinchy functions
        • Cinchy system values
        • Cinchy User Defined Functions (UDFs)
          • Table-valued functions
          • Scalar-valued functions
        • Conversion functions
        • Date and Time types and functions
          • Return System Date and Time values
          • Return Date and Time parts
          • Return Date and Time values from their parts
          • Return Date and Time difference values
          • Modify Date and Time values
          • Validate Date and Time values
        • Logical functions
        • Math functions
        • String functions
        • Geometry and Geography data type and functions
          • OGC methods on Geometry & Geography instances
          • Extended methods on Geometry & Geography instances
        • Full Text Search functions
        • Connections functions
        • JSON functions
    • CQL functions master list
  • Meta-Forms
    • Introduction
    • Install Meta-Forms
      • Deploy Meta-Forms (Kubernetes)
      • Deploy Meta-Forms (IIS)
    • Forms data types
    • Meta-Forms Builder Guide
      • Create a dynamic meta-form with tables
      • Create a dynamic meta-form example with Form Designer
      • Add links to a form
      • Rich text editing in forms
  • Data syncs
    • Get started with data syncs
    • IIS installation
      • Prerequisites
      • Install Connections
      • Install the Worker/Listener
      • Install the CLI and the Maintenance CLI
    • Build data syncs
      • Data sync types
      • Design patterns
      • Sync actions
      • Columns and mappings
        • Calculated column examples
      • Advanced settings
        • Filters
        • Variables
        • Auth requests
        • Request headers
        • Post sync scripts
        • Pagination
      • Batch data sync example
      • Real-time sync example
      • Schedule a data sync
      • Connection functions
    • CLI commands list
    • Troubleshooting
    • Data sync sources
      • Cinchy Event Broker/CDC
        • Cinchy Event Broker/CDC XML config example
      • Cinchy Table
        • Cinchy Table XML config example
      • Cinchy Query
        • Cinchy Query XML config example
      • Copper
      • DB2 (query and table)
      • Dynamics 2015
      • Dynamics
      • DynamoDB
      • File-based sources
        • Binary file
        • Delimited file
        • Excel
        • Fixed width file
        • Parquet
      • Kafka Topic
        • Kafka Topic example config
        • Apache AVRO data format
      • LDAP
      • MongoDB collection
        • MongoDB collection source example
      • Mongo event
      • MongoDB collection (Cinchy event)
      • MS SQL Server (query and table)
      • ODBC Query
      • Oracle (query and table)
      • Polling event
        • Polling event example config
      • REST API
      • REST API (Cinchy event)
      • SAP SuccessFactors
      • Salesforce Object (Bulk API)
      • Salesforce platform event
      • Salesforce push topic
      • Snowflake
        • Snowflake source example config
      • SOAP 1.2 web service
    • Data sync destinations
      • Cinchy Table
      • DB2 table
      • Dynamics
      • Kafka Topic
      • MongoDB collection
      • MS SQL Server table
      • Oracle table
      • REST API
      • Salesforce
      • Snowflake table
      • SOAP 1.2 web service
    • Real-time sync stream sources
      • The Listener Config table
      • Cinchy Event Broker/CDC
      • Data Polling
      • Kafka Topic
      • MongoDB
      • Salesforce Push Topic
      • Salesforce Platform Event
  • Other Resources
    • Angular SDK
    • JavaScript SQK
Powered by GitBook
On this page
  • Overview
  • Considerations
  • Connection definitions
  • Info tab
  • Source tab
  • Next steps
  • Appendix A
  • Data types
  • Listener Config

Was this helpful?

Export as PDF
  1. Data syncs
  2. Data sync sources

MongoDB collection (Cinchy event)

Overview

Data changes in the Cinchy Event Broker (CDC) can be used to trigger a data sync from a MongoDB data source to a specified target. The attributes of the CDC Event are available to use as parameters within the Data Source Definition to narrow the scope of the request. For example, a lookup.

The MongoDB Collection (Cinchy Event Triggered) Source supports real-time syncs.

Considerations

Please review the following considerations before you set 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, except for "$" 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 aren't 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

Connection definitions

The following sections in the Source configuration of the Connections experience can reference attributes of the CDC Event as parameters:

  • Connection String

  • Database Name

  • Collection Name

  • Query

  • Projection

  • Pipeline

In Cinchy v5.6+, you can also reference attributes of the CDC Event in Calculated Columns.

Note that syncs making use of this must limit their batch size to 1.

Parameters use the column name or alias as defined in the CDC Event Listener Config prefixed with an @. For example, @CompanyName would be the parameter name for the following Cinchy CDC listener Topic configuration.

{
	"tableGuid": "420c1851-31ed-4ada-a71b-31659bca6f92",
	"fields": [
		{
			"column": "Cinchy Id",
                        "alias":"CinchyId"
                },
		{
			"column": "Company Name",
                        "alias":"CompanyName"
		}
	]
}

Parameter names are case sensitive when used in the Connection configuration. Parameter matching is performed using literal string replacements. Names shouldn't contain spaces (spaces are automatically removed), and should have differing prefixes.

The following set of parameters will be available on every event even if they're not present in the listener config

  • @Version

  • @DraftVersion

  • @CinchyRecordType

  • @ApprovalState

  • @ModifiedBy

  • @Modified

  • @Deleted

Info tab

You can find the parameters in the Info tab below (Image 1).

Values

Parameter
Description
Example

Title

Mandatory. Input a name for your data sync

MongoDB Cinchy Event to Cinchy

Variables

Permissions

Data syncs are role based access systems where you can give specific groups read, write, execute, and/or all of the above with admin access. Inputting at least an Admin Group is mandatory.

Source tab

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.

Parameter
Description
Example

Source

Mandatory. Select your source from the drop down menu.

MongoDB Collection (Cinchy Event Triggered)

Connection String

Example (Default):

mongodb+srv://:@

Example (Against different database):

mongodb+srv://:@?authSource=

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

Parameter
Description
Example

Name

Mandatory. The name of your column as it appears in the source. This field is case sensitive and preserves spaces.

Name

Alias

Optional. You may choose to use an alias on your column so that it has a different name in the data sync.

Data Type

Text

Description

Optional. You may choose to add a description to your column.

Select Show Advanced for more options for the Schema section.

Parameter
Description
Example

Mandatory

  • If both Mandatory and Validated are checked on a column, then rows where the column is empty are rejected

  • If just Mandatory is checked on a column, then all rows are synced with the execution log status of failed, and the source error of "Mandatory Rule Violation"

  • If just Validated is checked on a column, then all rows are synced.

Validate Data

  • If both Mandatory and Validated are checked on a column, then rows where the column is empty are rejected

  • If just Validated is checked on a column, then all rows are synced.

Trim Whitespace

Optional if data type = text. For Text data types, you can choose whether to trim the whitespace._

Max Length

Optional if data type = text. You can input a numerical value in this field that represents the maximum length of the data that can be synced in your column. If the value is exceeded, the row will be rejected (you can find this error in the Execution Log).

You can choose to add in a Transformation > String Replacement by inputting the following:

Parameter
Description
Example

Pattern

Mandatory if using a Transformation. The pattern for your string replacement.

Replacement

What you want to replace your pattern with.

Note that you can have more than one String Replacement

Query example

// query: where "Price" is less than 10

blog> db.Articles.find({ "Price": { "$lt": 10 } })
[
  {
    _id: ObjectId("63d8137bd755fcdeed234403"),
    Name: 'Shirt',
    Price: 9.95,
    Details: { Color: 'White', Size: 'Small' },
    Stock: 61
  }
]

Projection example

// Flatten the document

blog> db.Articles.find({}, { Name: 1, Price: 1, Color: "Details.Color", Size: "Details.Size", Stock: 1 })
[
  {
    _id: ObjectId("63d812afd755fcdeed234402"),
    Name: 'Shirt',
    Price: 19.95,
    Stock: 12,
    Color: 'Details.Color',
    Size: 'Details.Size'
  },
  {
    _id: ObjectId("63d8137bd755fcdeed234403"),
    Name: 'Shirt',
    Price: 9.95,
    Stock: 61,
    Color: 'Details.Color',
    Size: 'Details.Size'
  }
]

Next steps

Appendix A

Data types

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 aren't 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.

MongoDB
Cinchy
Notes

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

Listener Config

To configure a MongoDB Collection (Cinchy Event Triggered) connection, a listener must be configured via the Listener Config table with an Event Connector Type of Cinchy CDC.

When setting up your listener configuration for your data sync, keeping the following constraints in mind:

  • Column names in the listener config shouldn't contain spaces. If they do, they will be automatically removed. For example, a column named Company Name will become the replacement parameter @CompanyName.

  • The replacement parameter names are case sensitive.

  • Column names in the listener config shouldn't be prefixes of other column names. For example, if you have a column called Name, you shouldn't have another called Name2 as the value of @Name2 may end up being replaced by the value of @Name suffixed with a 2._

Example Listener Configuration

{
  "tableGuid": "420c1851-31ed-4ada-a71b-31659bca6f92",
  "fields": [
    {
      "column": "Cinchy Id",
      "alias": "CinchyId"
    },
    {
      "column": "Company Name",
      "alias": "CompanyName"
    }
  ]
}
PreviousMongo eventNextMS SQL Server (query and table)

Last updated 1 year ago

Was this helpful?

Optional. Review our documentation on for more information about this field.

Mandatory. This is the encrypted connection string. You can review MongoDB's Connection String guide and parameter descriptions Don't 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 (flatten or aggregate) the data. It's 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's 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.

To run a real-time sync (using the Cinchy Event Triggered MongoDB Source), using the Cinchy Event Broker/CDC and enable it to begin your sync.

Review the , and then navigate to to input a new row.

Destination
Sync Actions.
Post Sync Scripts
set up your Listener Config
Cinchy Event Broker/CDC Listener Configuration values here
the Listener Config table
Variables here
here.
MongoDB database
MongoDB collection.
specific aggregation operator.
An aggregation pipeline
x.509 certificate
Example Query
Example Projection
You can review the supported data types and their translations here.
Schema
Image 1: The Info Tab
Image 2: The Source Tab