MongoDB

Adicionando a fonte de dados

Derivado da palavra "humongous" (em inglês: algo maior que gigantesco), o MongoDB é um dos bancos de dados não relacionais (nosql) mais utilizados no mundo. Grande parte desse sucesso deve-se ao fato de, além da versão open source, a empresa por trás do Mongo oferecer também o Mongo Atlas, uma versão hospedada do banco de dados não relacional.

Lidar com bancos no-sql traz certas complicações, principalmente quando se considera que o Mongo não enforça tipagem, o que significa que cada documento (registro) de uma coleção (algo similar a uma tabela de um banco relacional) pode possuir um formato diferente, além de uma variável (similar a uma coluna) em um documento poder assumir valores diferentes do que em outro. Em um documento, a coluna "createdAt" pode assumir o valor de "2020-01-01" e em outro, "01/01/2020" ou mesmo "primeiro de janeiro de dois mil e vinte".

Além do cuidado necessário no desenvolvimento de aplicações em produção para manter um certo padrão nas collections, analisar dados advindos do mongo é algo um pouco mais complexo quando se fala de analytics e data science, já que funções básicas como soma de uma variável/coluna precisam lidar com o fato de que alguns dos documentos podem assumir valores não numéricos.

Quando desenvolvemos o nosso primeiro conector com o Mongo, era necessário muito trabalho manual de casting e normalização para uma estrutura relacional. Hoje estamos lançando uma nova versão que inclui:

  • Opção de detecção automática do tipo da coluna/variável e conversão para um formato definido para que esse dado seja inserido em um banco relacional
  • Normalização de documentos aninhados/nestados para as tabelas que são necessárias, mapeando o documento de uma estrutura não relacional para uma relacional
  • Integração incremental, sendo possível buscar apenas os documentos novos ou atualizados de cada collection

Adicionando o conector

Para adicionar o conector do mongo na plataforma da Kondado, você primeiro precisa permitir que os nossos IPs possam acessar o banco.

Uma vez que você liberou os nossos IPs no seu firewall, você pode adicionar as suas informações de 2 formas: parâmetros individuais ou connection string. Para selecionar entre elas, utilize o parâmetro "Método de conexão".

Caso você tenha selecionado o método de conexão Connection string, você pode adicionar no campo "Connection string" a string de conexão. Alguns exemplos de strings de conexão estão abaixo. Veja mais sobre como formatar sua connection string

Exemplos de connection string:

mongodb://mongodb0.example.com:27017
mongodb+srv://server.example.com/

Caso opte pelo método de conexão Parâmetros individuais, veja abaixo a descrição dos campos necessários

  • Nome: Uma descrição interna do seu conector, por exemplo "Mongo produto"
  • Endereço: IP ou DNS do seu banco ou cluster. Insira aqui apenas o endereço, sem incluir banco, porta ou parâmetros
  • DNS Seedlist: Marque essa opção apenas se o seu banco utiliza seedlist para conexão (ou seja: a string de conexão dele contém "+srv"). Essa opção é bastante utilizada nos bancos MongoDB Atlas
  • Porta: a porta que deve ser utilizada para a conexão (geralmente 27017).
  • Banco de autenticação: apenas o nome do banco de autenticação (por exemplo: admin)
  • Banco de consulta: apenas o nome do banco de consulta
  • Usuário: o usuário do banco de dados
  • Senha: a senha do usuário

Agora, basta criar as integrações (uma por coleção) e começar a analisar os dados do Mongo de forma relacional.

Pipelines

Resumo

Diagrama de relacionamento

Clique para expandir

Notas

  • Este conector suporta as seguintes versões do MongoDB: 2.6, 3.0, 3.2, 3.4, 3.6, 4.0, 4.2, 4.4 e 5.0
  • Não são suportados _ids que sejam em si outros objetos JSON - apenas são suportadas collections/views cujo _id seja do tipo ObjectId, String ou algum outro tipo simples
  • Parte desta documentacao foi gerada automaticamente por IA e pode conter erros. Recomendamos verificar informacoes críticas

Configurar o conector MongoDB na Kondado

Guia passo a passo para integrar dados do MongoDB ao seu data warehouse, incluindo liberação de IPs, configuração de conexão e definição de parâmetros de normalização.

1
Liberar IPs da Kondado no firewall

Antes de começar, você precisa permitir que os IPs da Kondado acessem seu banco MongoDB. Consulte a página de segurança para obter a lista atualizada de endereços que devem ser liberados no seu firewall.

2
Escolher o método de conexão

Na plataforma, selecione entre "Connection string" ou "Parâmetros individuais" no campo "Método de conexão". Para MongoDB Atlas, a opção de DNS Seedlist é frequentemente necessária.

3
Preencher as credenciais de acesso

Informe o endereço (IP ou DNS sem porta/banco), porta (geralmente 27017), banco de autenticação, banco de consulta, usuário e senha. Se usar connection string, exemplos incluem mongodb://mongodb0.example.com:27017 ou mongodb+srv://server.example.com/.

4
Configurar normalização de documentos aninhados

Defina se deseja normalizar documentos nestados em tabelas separadas (apenas 1 nível) ou receber como texto. A normalização cria tabelas filhas que herdam o _id do registro pai.

5
Aplicar cast automático de tipos

Ative o cast para que a Kondado amostre seus documentos e defina tipos apropriados no destino relacional. Sem cast, todos os campos serão texto e a integração não poderá ser incremental. Você pode excluir campos específicos do casting, como CEPs e telefones.

6
Criar integrações por collection

Crie uma integração para cada collection ou view desejada. Com a integração incremental, busque apenas documentos novos ou atualizados. Conecte seus dados a destinos como data warehouses e BI tools para análise.

Perguntas frequentes

Quais versões do MongoDB são suportadas pelo conector da Kondado?
O conector suporta as versões 2.6, 3.0, 3.2, 3.4, 3.6, 4.0, 4.2, 4.4 e 5.0 do MongoDB. Não são suportados _ids que sejam objetos JSON — apenas ObjectId, String ou outros tipos simples.
O que é a normalização de documentos aninhados no conector MongoDB?
A normalização cria tabelas separadas para documentos nestados/aninhados, aplicando apenas 1 nível para baixo. Os registros do segundo nível herdam o _id dos registros de primeiro nível. Se optar por não normalizar, os dados serão recepcionados em modo texto. Veja mais sobre integração de dados na plataforma.
Como funciona o cast automático de tipos?
O cast realiza amostragem dos documentos da sua collection para determinar o tipo de cada campo no destino. Se todos os registros de um campo não forem do mesmo tipo, a coluna será criada como texto. Você pode fornecer _ids de amostra com schema mais completo e listar campos que não devem sofrer casting, como CEPs e telefones.
Qual a diferença entre usar Connection string e Parâmetros individuais?
A Connection string permite inserir a string completa de conexão (ex: mongodb+srv://server.example.com/). Os Parâmetros individuais exigem preenchimento separado de endereço, porta, bancos de autenticação/consulta, usuário e senha. A opção DNS Seedlist deve ser marcada para bancos MongoDB Atlas que utilizam +srv na string de conexão.
Por que a integração incremental requer cast ativado?
Sem o cast aplicado, todos os campos são criados e inseridos como texto, o que impossibilita a identificação de documentos novos ou atualizados. Com o cast ativado, a Kondado consegue trabalhar com tipos definidos e implementar a integração incremental, buscando apenas os documentos novos ou modificados de cada collection.
Posso integrar views além de collections do MongoDB?
Sim, o conector da Kondado suporta tanto collections quanto views do MongoDB. O processo de configuração é o mesmo para ambos, incluindo as opções de normalização e cast. Após configurado, você pode enviar os dados para diversos destinos da plataforma.

Escrito por·Publicado em 2020-03-03·Atualizado em 2026-06-01