MongoDB

Saiba mais sobre o conector MongoDB e como usá-lo na Digibee Integration Platform.

O MongoDB realiza operações em uma conexão com um banco de dados Mongo, retornando apenas um objeto JSON.

Parâmetros

Dê uma olhada nos parâmetros de configuração do conector. Parâmetros suportados por expressões Double Braces estão marcados com (DB).

Aba General

Parâmetro
Descrição
Valor padrão
Tipo de dado

Account

Conta a ser utilizada pelo conector. Contas suportadas: Basic e Certificate Chain.

N/A

String

Use SSL/TLS to connect

Quando ativado, será utilizada uma conexão segura SSL/TLS.

False

Boolean

Custom SSL/TLS certificate

Define o certificado personalizado que pode ser utilizado em expressões Double Braces para a conexão segura.

N/A

String

Allow invalid hostnames

Quando ativado, essa opção ignora a validação de nomes de host nos certificados SSL/TLS.

False

Boolean

Operation

Operação a ser executada (Find, Aggregate, Delete One, Delete Many, Insert One, Insert Many, Update One, Update Many, Replace One, List Indexes, Create Index e Drop Index).

Find

String

Connection String

A string de conexão. Este parâmetro recupera globals e capsules utilizando a expressão Double Braces, mas não recupera os objetos message ou metadata.

mongodb://localhost:27017

String

Database Name

Nome do banco de dados.

databaseName

String

Collection Name

Nome da coleção.

collectionName

String

Expire after seconds

Tempo (em segundos) para expiração dos documentos ao usar um índice TTL. Disponível apenas se a operação Create Index for selecionada.

0

Integer

Query (DB)

Especificação do Mongo a ser utilizada. Exemplo: { _id: ObjectId( {{ message.$.id }} ) }

N/A

String

Document

Disponível apenas se Insert One, Insert Many, Update One, Update Many ou Replace One forem selecionados.

N/A

String

Limit (DB)

Especificação do número máximo de objetos que podem ser retornados.

0

Integer

Skip (DB)

Número de objetos a serem ignorados antes da consulta.

0

Integer

Sort

Especificação do parâmetro de ordenação pelo campo.

N/A

String

Fail On Error

Se ativado, a execução do pipeline sermongá interrompida em caso de erro. Caso contrário, a execução continuará, mas o resultado indicará um valor falso para a propriedade "success".

False

Boolean

Max Wait For Connection (in ms)

Valor padrão: 10000 (pode ser alterado).

10000

Integer

Connection Timeout (in ms)

Valor padrão: 30000 (pode ser alterado).

30000

Integer

Socket Timeout (in ms)

Valor padrão: 30000 (pode ser alterado).

300000

Integer

Heartbeat Connection Timeout (in ms)

Valor padrão: 10000 (pode ser alterado).

10000

Integer

Max Connection Idle Timeout (in ms)

Valor padrão: 1800000.

1800000

Integer

Aba Documentation

Parâmetro
Descrição
Valor padrão
Tipo de dado

Documentation

Seção para documentar qualquer informação necessária sobre a configuração do conector e regras de negócio.

N/A

String

Você pode:

  • Usar um JSON fixo: document = "{\"data\": [{\"object\": 1}, {\"object\": 2}]}"

  • Obter um JSON da mensagem, que buscará o objeto 'data' da mensagem: document = "{{ message.$.data }}

  • Combinar os dois exemplos: document = "{\"data\": [{\"object\": {{ message.$.id1 }}}, {\"object\": {{ message.$.id2 }}}]}"

Se o MongoDB exigir autenticação, é necessário criar uma conta do tipo BASIC e usá-la no conector.

Para converter Double Braces, utilizamos especificações JSON Path. Leia a documentação sobre JSON Path no GitHub.

MongoDB em ação

Operação Find

Config

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

Entrada

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

Saída

{
	"data": [...some data...],
	"rowCount": 10,
	"updateCount": 0
}
Operação 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
}

Entrada

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

Output

{
    "data": {},
    "rowCount": 0,
    "updateCount": 1
}
Operação 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
}	

Entrada

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

Output

{
	"data": {},
	"rowCount": 0,
	"updateCount": 1
}
Operação 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
}

Entrada

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

Output

{{
	"data": {},
	"rowCount": 0,
	"updateCount": 1
}  
Operação Delete

Config

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

Entrada

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

Output

{
	"data": {},
	"rowCount": 10,
	"updateCount": 0
}
Operação Delete Many

Config

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

Entrada

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

Saída

{
	"data": {},
	"rowCount": 10,
	"updateCount": 0
}
Operação Insert

Config

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

Entrada

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

Saída

{
	"data": {},
	"rowCount": 0,
	"updateCount": 1
}
Operação Insert Many

Config

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

Entrada

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

Saída

{
	"data": {},
	"rowCount": 0,
	"updateCount": 1
}
Operação Aggregate

Config

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

Entrada

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

Saída

{
	"data": [...some data...],
	"rowCount": 10,
	"updateCount": 0
}
Operação List Indexes

Config

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

Entrada

{ }

Saída

{
	"data": [...some data...],
	"rowCount": 10
}  
Operação Create Index

Config

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

Entrada

{ }

Saída

{
	"data": "createdAt_1",
	"updateCount": 1
}
Operação Drop Index

Config

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

Entrada

{ }

Saída

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

Atualizado

Isto foi útil?