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:
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
Copiar {
"operation": "FIND",
"databaseName": "test",
"collectionName": "model",
"url": "mongodb://localhost:27017",
"query": "{_id: ObjectId({{ message.$.parameters.id }})}",
"failOnError": false
}
Entrada
Copiar {
"parameters": {
"id": "5c87c7af06c3af7dbedc7bb3"
}
}
Saída
Copiar {"data": [...some data...],"rowCount": 10,"updateCount": 0}
Operação Replace One
Config
Copiar {
"data": [...some data...],
"rowCount": 10,
"updateCount": 0
}
Entrada
Copiar {
"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
Copiar {
"data": {},
"rowCount": 0,
"updateCount": 1
}
Operação Update
Config
Copiar {
"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
Copiar {
"parameters": {
"id": "5c87c7af06c3af7dbedc7bb3"
}
}
Saída
Copiar {
"data": {},
"rowCount": 0,
"updateCount": 1
}
Operação Update Many
Config
Copiar {
"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
Copiar {
"parameters": {
"name": "NAME"
}
}
Saída
Copiar {{
"data": {},
"rowCount": 0,
"updateCount": 1
}
Operação Delete
Config
Copiar {
"operation": "DELETE",
"databaseName": "test",
"collectionName": "model",
"url": "mongodb://localhost:27017",
"query": "{_id: ObjectId({{ message.$.parameters.id }})}",
"failOnError": false
}
Entrada
Copiar {
"parameters": {
"id": "5c87c7af06c3af7dbedc7bb3"
}
}
Saída
Copiar {
"data": {},
"rowCount": 10,
"updateCount": 0
}
Operação Delete Many
Config
Copiar {
"operation": "DELETE_MANY",
"databaseName": "test",
"collectionName": "model",
"url": "mongodb://localhost:27017",
"query": "{name: {{ message.$.data.name }}}",
"failOnError": false
}
Entrada
Copiar {
"data": {
"name": "NAME"
}
}
Saída
Copiar {
"data": {},
"rowCount": 10,
"updateCount": 0
}
Operação Insert
Config
Copiar {
"operation": "INSERT",
"databaseName": "test",
"collectionName": "model",
"document": "{\"data\": {{ message.$.body }}}",
"url": "mongodb://localhost:27017",
"failOnError": false
}
Entrada
Copiar {
"parameters": {
"id": "5c87c7af06c3af7dbedc7bb3"
},
"body": [
{"a": 1},
{"a": 2}
]
}
Saída
Copiar {
"data": {},
"rowCount": 0,
"updateCount": 1
}
Operação Insert Many
Config
Copiar {
"operation": "INSERT_MANY",
"databaseName": "test",
"collectionName": "model",
"document": "{{ message.$.body }}",
"url": "mongodb://localhost:27017",
"failOnError": false
}
Entrada
Copiar {
"parameters": {
"id": "5c87c7af06c3af7dbedc7bb3"
},
"body": [
{"a": 1},
{"a": 2}
]
}
Saída
Copiar {
"data": {},
"rowCount": 0,
"updateCount": 1
}
Operação Aggregate
Config
Copiar {
"operation": "AGGREGATE",
"databaseName": "test",
"collectionName": "model",
"url": "mongodb://localhost:27017",
"query": "[{\"$match\":{\"zip\":\"90210\"}},{\"$group\":{\"_id\":null,\"count\":{\"$sum\":1}}}]",
"failOnError": false
}
Entrada
Copiar {
"parameters": {
"id": "5c87c7af06c3af7dbedc7bb3"
}
}
Saída
Copiar {
"data": [...some data...],
"rowCount": 10,
"updateCount": 0
}
Operação List Indexes
Config
Copiar {
"operation": "LIST_INDEXES",
"databaseName": "test",
"collectionName": "model",
"url": "mongodb://localhost:27017",
"failOnError": false
}
Entrada
Saída
Copiar {
"data": [...some data...],
"rowCount": 10
}
Operação Create Index
Config
Copiar {
"operation": "CREATE_INDEX",
"databaseName": "test",
"collectionName": "model",
"url": "mongodb://localhost:27017",
"expireAfterSeconds": "3600",
"query": "{ \"createdAt\": 1 }",
"failOnError": false
}
Entrada
Saída
Copiar {
"data": "createdAt_1",
"updateCount": 1
}
Operação Drop Index
Config
Copiar {
"operation": "DROP_INDEX",
"databaseName": "test",
"collectionName": "model",
"url": "mongodb://localhost:27017",
"query": "{ \"createdAt\": 1 }",
"failOnError": false
}
Entrada
Saída
Copiar {
"data": { },
"updateCount": 1
}
O Mongo DB suporta Double Braces estáticos nos seguintes parâmetros previamente especificados: