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.