Mongo DB

Conheça o componente e saiba como utilizá-lo.

Erick Rubiales avatar
Escrito por Erick Rubiales
Atualizado há mais de uma semana

IMPORTANTE: esta documentação foi descontinuada. Leia a documentação Mongo DB atualizada no nosso novo portal de documentação.

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.
​    

Dê uma olhada nos parâmetros de configuração do componente:

  • Account: conta a ser utilizada pelo componente.

  • Operation: operação a ser executada (FIND, AGGREGATE, DELETE ONE, DELETE MANY, INSERT ONE, INSERT MANY, UPDATE ONE, UPDATE MANY e REPLACE ONE).

  • Connection String: conexão de string oferece as seguintes opções; url-db, user-id-hubspot, etc.

  • Database Name: nome da base de dados.

  • Collection Name: nome da coleção.

  • Query: especificação Mongo a ser enfileirada. Por exemplo:
    { _id: ObjectId( {{ message.$.id }} ) }

  • Limit: especificação do número máximo de objetos que podem ser retornados.

  • Skip: número de objetos a serem pulados antes de retornar para a query.

  • Sort: especificação do parâmetro a ser ordenado pelo campo.

  • Fail On Error: se a opção estiver habilitada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".

  • Max Wait For Connection (in ms): 10000 (você pode ajustar).

  • Connection Timeout (in ms): 30000.

  • Socket Timeout (in ms): 300000

  • Heartbeat Connection Timeout (in ms): 10000.

  • Max Connection Idle Timeout (in ms): 1800000.


IMPORTANTE: Atualmente o componente suporta apenas contas BASIC e deve ser informado através do campo Conta, 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 }}}]}"]
   

Para converter Double Braces, nós utilizamos especificações de JSON Path. Clique aqui para saber mais.  
​   

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

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

    

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
}

   


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

  • operation 

  • url

Para ler o nosso artigo sobre Double Braces, clique aqui.

Respondeu à sua pergunta?