MongoDB

Discover more about the MongoDB component and how to use it on the Digibee Integration Platform.

MongoDB makes operations in a Mongo database connection, returning only one JSON object.

Parameters

Take a look at the configuration parameters for the connector. Parameters supported by Double Braces expressions are marked with (DB).

General tab

Parameter
Description
Default value
Data type

Account

Account to be used by the connector. Supported accounts: Basic and Certificate Chain.

N/A

String

Use SSL/TLS to connect

When activated, a secure SSL/TLS connection will be used.

False

Boolean

Custom SSL/TLS certificate

Sets the custom certificate that can be used in Double Braces expressions for the secure connection.

N/A

String

Allow invalid hostnames

When activated, the option bypasses the validation of hostnames in SSL/TLS certificates.

False

Boolean

Operation

Operation to be executed (Find, Aggregate, Delete One, Delete Many, Insert One, Insert Many, Update One, Update Many, Replace One, List Indexes, Create Index, and Drop Index).

Find

String

Connection String

The connection string. This parameter retrieves globals and capsules using the Double Braces expression but does not retrieve the message or metadata objects.

mongodb://localhost:27017

String

Database Name

Name of the database.

databaseName

String

Collection Name

Name of the collection.

collectionName

String

Expire after seconds

Time (in seconds) for documents expiration when using a TTL index. Only available if the Create Index operation is selected.

0

Integer

Query (DB)

Mongo specification to be used. For example: { _id: ObjectId( {{ message.$.id }} ) }

N/A

String

Document

Available only if Insert One, Insert Many, Update One, Update Many, or Replace One are selected.

N/A

String

Limit (DB)

Specification of the maximum number of objects that can be returned.

0

Integer

Skip (DB)

Number of objects to be skipped before returning to the query.

0

Integer

Sort

Specification of the parameter to be sorted by the field.

N/A

String

Fail On Error

If the option is activated, the pipeline's execution with an error will be interrupted. Otherwise, the pipeline execution proceeds, but the result will show a false value for the "success" property.

False

Boolean

Max Wait For Connection (in ms)

Defaults to 10000 (you may choose your option).

10000

Integer

Connection Timeout (in ms)

30000 (you may choose here).

30000

Integer

Socket Timeout (in ms)

30000, or another value.

300000

Integer

Heartbeat Connection Timeout (in ms)

10000 (you can determine your choice).

10000

Integer

Max Connection Idle Timeout (in ms)

Defaults to 1800000.

1800000

Integer

Documentation tab

Parameter
Description
Default value
Data type

Documentation

Section for documenting any necessary information about the connector configuration and business rules.

N/A

String

You can:

  • Use a fixed JSON: document = "{\"data\": [{\"object\": 1}, {\"object\": 2}]}"

  • get some JSON of the message, that will search the 'data' object of the message: document = "{{ message.$.data }}

  • combine both examples: document = "{\"data\": [{\"object\": {{ message.$.id1 }}}, {\"object\": {{ message.$.id2 }}}]}"]

If MongoDB needs some authentication, you must create an account (BASIC type) and use it in the connetor.

To convert Double Braces, we use JSON Path specifications. Read the documentation about JSON Path on GitHub.

Mongo DB in action

Operation Find

Config

{
	"operation": "FIND",
	"databaseName": "test",
	"collectionName": "model",
	"url": "mongodb://localhost:27017",
	"query": "{_id: ObjectId({{ message.$.parameters.id }})}",
	"failOnError": false
}

Input

{
	"parameters": {
		"id": "5c87c7af06c3af7dbedc7bb3"
	}
}

Output

{
	"data": [...some data...],
	"rowCount": 10,
	"updateCount": 0
}
Operation Replace One

Config

{
	"operation": "REPLACE_ONE",
	"databaseName": "test",
	"collectionName": "model",
	"document": "{\"data\": [{\"object\": 1}, {\"object\": 2}]}",
	"url": "mongodb://localhost:27017",
	"query": "{_id: ObjectId({{ message.$.parameters.id }})}",
	"failOnError": false
}

Input

{
	"parameters": {
		"id": "5c87c7af06c3af7dbedc7bb3"
	}
}

Output

{
    "data": {},
    "rowCount": 0,
    "updateCount": 1
}
Operation Update

Config

{
	"operation": "UPDATE",
	"databaseName": "test",
	"collectionName": "model",
	"document": "{\"$set\": {\"data\": [{\"object\": 1}, {\"object\": 2}]}}",
	"url": "mongodb://localhost:27017",
	"query": "{_id: ObjectId({{ message.$.parameters.id }})}",
	"failOnError": false
}	

Input

{
	"parameters": {
		"id": "5c87c7af06c3af7dbedc7bb3"
	}
}

Output

{
	"data": {},
	"rowCount": 0,
	"updateCount": 1
}
Operation Update Many

Config

{
	"operation": "UPDATE_MANY",
	"databaseName": "test",
	"collectionName": "model",
	"document": "{\"$set\": {\"data\": [{\"object\": 1}, {\"object\": 2}]}}",
	"url": "mongodb://localhost:27017",
	"query": "{name: ObjectId({{ message.$.parameters.name }})}",
	"failOnError": false
}

Input

{
	"parameters": {
		"name": "NAME"
	}
}

Output

{
	"data": {},
	"rowCount": 0,
	"updateCount": 1
}  
Operation Delete

Config

{
	"operation": "DELETE",
	"databaseName": "test",
	"collectionName": "model",
	"url": "mongodb://localhost:27017",
	"query": "{_id: ObjectId({{ message.$.parameters.id }})}",
	"failOnError": false
}

Input

{
	"parameters": {
		"id": "5c87c7af06c3af7dbedc7bb3"
	}
}

Output

{
	"data": {},
	"rowCount": 10,
	"updateCount": 0
}
Operation Delete Many

Config

{
	"operation": "DELETE_MANY",
	"databaseName": "test",
	"collectionName": "model",
	"url": "mongodb://localhost:27017",
	"query": "{name: {{ message.$.data.name }}}",
	"failOnError": false
}

Input

{
	"data": {
		"name": "NAME"
	}
}

Output

{
	"data": {},
	"rowCount": 10,
	"updateCount": 0
}
Operation Insert

Config

{
	"operation": "INSERT",
	"databaseName": "test",
	"collectionName": "model",
	"document": "{\"data\": {{ message.$.body }}}",
	"url": "mongodb://localhost:27017",
	"failOnError": false
}

Input

{
	"parameters": {
		"id": "5c87c7af06c3af7dbedc7bb3"
	},
	"body": [
		{"a": 1},
		{"a": 2}
	]
}

Output

{
	"data": {},
	"rowCount": 0,
	"updateCount": 1
}
Operation Insert Many

Config

{
	"operation": "INSERT_MANY",
	"databaseName": "test",
	"collectionName": "model",
	"document": "{{ message.$.body }}",
	"url": "mongodb://localhost:27017",
	"failOnError": false
}

Input

{
	"parameters": {
		"id": "5c87c7af06c3af7dbedc7bb3"
	},
	"body": [
		{"a": 1},
		{"a": 2}
	]
}

Output

{
	"data": {},
	"rowCount": 0,
	"updateCount": 1
}```
Operation Aggregate

Config

{
	"operation": "AGGREGATE",
	"databaseName": "test",
	"collectionName": "model",
	"url": "mongodb://localhost:27017",
	"query": "[{\"$match\":{\"zip\":\"90210\"}},{\"$group\":{\"_id\":null,\"count\":{\"$sum\":1}}}]",
	"failOnError": false
}

Input

{
	"parameters": {
		"id": "5c87c7af06c3af7dbedc7bb3"
	}
}

Output

{
	"data": [...some data...],
	"rowCount": 10,
	"updateCount": 0
}
Operation List Indexes

Config

{
	"operation": "LIST_INDEXES",
	"databaseName": "test",
	"collectionName": "model",
	"url": "mongodb://localhost:27017",
	"failOnError": false
}

Input

{ }

Output

{
	"data": [...some data...],
	"rowCount": 10
}  
Operation Create Index

Config

{
	"operation": "CREATE_INDEX",
	"databaseName": "test",
	"collectionName": "model",
	"url": "mongodb://localhost:27017",
	"expireAfterSeconds": "3600",
	"query": "{ \"createdAt\": 1 }",
	"failOnError": false
}

Input

{ }

Output

{
	"data": "createdAt_1",
	"updateCount": 1
}
Operation Drop Index

Config

{
	"operation": "DROP_INDEX",
	"databaseName": "test",
	"collectionName": "model",
	"url": "mongodb://localhost:27017",
	"query": "{ \"createdAt\": 1 }",
	"failOnError": false
}

Input

{ }

Output

{
	"data": { },
	"updateCount": 1
}

Last updated

Was this helpful?