Mongo DB

Descubra mais sobre o componente Mongo DB e saiba como utilizá-lo na Digibee Integration Platform.

O Mongo DB realiza operações em uma conexão de database Mongo, retornando apenas um objeto JSON.

Importante: cuidado com o consumo de memória para datasets grandes.

Parâmetros

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

Importante: atualmente o componente suporta apenas contas Basic e Certificate Chain e deve ser informado através do campo Account, não diretamente na string de conexão.

Você pode:

  • utilizar um JSON fixo:

document = "{\"data\": [{\"object\": 1}, {\"object\": 2}]}"

  • conseguir algum JSON da mensagem, que vai buscar o objeto 'data' da mensagem:

document = "{{ message.$.data }}

  • combinar ambos os exemplos:

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

Se o Mongo DB precisar de alguma autenticação, você deverá criar uma conta (tipo BASIC) e utilizá-la no componente.

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

Mongo DB 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

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

Entrada

{
	"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
}

Saída

{
    "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"
	}
}

Saída

{
	"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"
	}
}

Saída

{{
	"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"
	}
}

Saída

{
	"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
}

O Mongo DB suporta Double Braces estáticos nos seguintes parâmetros previamente especificados:

  • operation

  • url

Atualizado