Tutorial do MongoDB para iniciantes: aprenda o MongoDB em etapas simples
Publicados: 2022-08-31MongoDB é um banco de dados de documentos e um banco de dados NoSQL líder de código aberto. Ele é escrito em C++ e é um banco de dados NoSQL orientado a documentos usado para armazenamento de dados de alto volume, gerenciamento e entrega de conteúdo, infraestruturas móveis e sociais, gerenciamento de dados do usuário, etc.
Ele consiste em um modelo de dados usando o qual você pode representar relacionamentos hierárquicos. Ele se baseia em documentos semelhantes a JSON com esquema opcional e não usa linhas e tabelas como usadas em bancos de dados relacionais tradicionais. Os documentos com pares chave-valor são as unidades fundamentais de dados no MongoDB.
O MongoDB armazena dados no formato JSON. Sua alta demanda é baseada principalmente em seu índice em qualquer atributo, replicação e alta disponibilidade, auto-sharding, consultas avançadas, atualizações rápidas no local e suporte avançado da comunidade. Vamos mergulhar no tutorial de consulta do mongodb.
Recursos do MongoDB
A usabilidade deste banco de dados orientado a dados depende de certos recursos integrais do Mongo DB: -
- Cada banco de dados consiste em coleções que contêm ainda documentos. Esses documentos e seu tamanho e conteúdo podem diferir de acordo com diferentes números de campos.
- A estrutura do documento é baseada em como os desenvolvedores constroem classes e objetos em seus programas.
- As linhas não exigem um esquema predefinido, pois você pode criar os campos em qualquer lugar.
- Com o modelo de dados do MongoDB, você pode representar relacionamentos hierárquicos para armazenar arrays e outras estruturas complexas.
- Os ambientes MongoDB são muito escaláveis.
- Os objetos de aplicativo não precisam ser convertidos ou mapeados para objetos de banco de dados.
- A memória interna armazena o conjunto de trabalho em janela que facilita o acesso aos dados.
- A estrutura de um único objeto é clara.
- Não há junções complexas.
- Sua capacidade de consulta profunda suporta consultas dinâmicas em documentos.
Além disso, confira nosso curso de ciência de dados para se aprimorar.
Coisas que você precisa saber sobre MongoDB e RDBMS
O MongoDB é um banco de dados multiplataforma orientado a documentos que oferece alto desempenho, escalabilidade efetiva e alta disponibilidade. Funciona com base em Documento e Coleção. Cada banco de dados no MongoDB tem seu conjunto distinto de arquivos e, idealmente, um único servidor MongoDB possui vários bancos de dados.
Por outro lado, uma coleção é um grupo de documentos do MongoDB equivalente à tabela RDBMS. Ele existe dentro de um único banco de dados e não impõe um esquema. Os Documentos dentro de uma coleção podem ter vários campos, e todos os documentos dentro de uma coleção são de propósito relacionado ou similar. Um conjunto de pares chave-valor é chamado de Documentos com esquema dinâmico, em que os documentos na mesma coleção não precisam ter o mesmo conjunto de estrutura ou campos.
Você encontrará o relacionamento da terminologia RDBMS com o MongoDB na tabela a seguir.
RDBMS | MongoDB |
Base de dados | Base de dados |
Tupla | Documento |
Mesa | Coleção |
Junção de mesa | Documentos incorporados |
coluna | Campo |
Chave primária | Chave primária (o MongoDB oferece a chave padrão _id) |
Servidor de banco de dados e cliente | |
mysqld/Oracle | mongo |
mysql/sqlplus | mongo |
Diferença entre bancos de dados MongoDB e SQL
O MongoDB é mais flexível que o SQL e oferece melhor disponibilidade de dados. Também é portátil e extensível. Os bancos de dados SQL são conhecidos por sua durabilidade e consistência. Assim, a melhor solução de banco de dados depende do tipo de projeto em que se está envolvido.
O MongoDB é melhor para pipelines de desenvolvimento, enquanto os bancos de dados SQL são ótimos para transações de dados organizacionais confiáveis. O MongoDB é ótimo para processar e trabalhar com dados não estruturados. Esse banco de dados NoSQL é uma das melhores alternativas para alimentar pipelines de dados e para aplicativos, como análises em tempo real.
O MongoDB é ótimo para trabalhar com dispositivos IoT e aplicativos móveis/web. Está rapidamente se tornando a escolha preferida para desenvolvedores em todo o mundo devido à sua flexibilidade e capacidade de escalar sem problemas.
Embora os bancos de dados SQL sejam ótimos para trabalhar com dados estruturados, Data Science e para tarefas organizacionais avançadas, o MongoDB atende aos requisitos de desenvolvedores e empresas modernas por meio do desenvolvimento eficaz de software ou serviços online.
Exemplos de como usar o MongoDB
Armazenando estruturas de dados aninhadas
A capacidade de aninhar objetos em documentos é um dos maiores recursos do MongoDB. Para incorporar dados em documentos, os desenvolvedores estruturam os dados no MongoDB em vez de dividi-los em várias coleções.
Aqui está um exemplo:-
{_id: ObjectId(“5effaa5662679b5af2c58829”),
e-mail: “[email protected]”,
nome: {dado: “Lily”, família: “Mona”},
idade: 31,
endereços: [{label: “casa”,
rua: “22 1b Baker Street”,
cidade: “Londres”,
estado: “ENG”,
zip: “NW1 6XE”,
país: “Reino Unido”},
{marcador: “mãe”,
rua: “Rua do Parque 555”,
cidade: “Cidade do Lago”,
província: “Ontário”,
país: “CA”}]
}
O campo de nome é o objeto aninhado com componentes de nome de família e dados no campo de endereços onde vários endereços são armazenados em uma matriz. Cada endereço pode ter vários campos, facilitando o armazenamento de outros tipos de dados.
Usando o Shell do MongoDB
O shell do MongoDB é usado principalmente para navegar, manipular e inspecionar dados de documentos. Quando o MongoDB é executado em uma máquina local, o disparo do shell se conecta ao MongoDB no localhost na porta padrão. Certifique-se de adicionar a string de conexão após o comando mongo se você precisar se conectar a um cluster MongoDB Atlas ou outra instância remota.
Você encontrará exemplos rápidos de shell abaixo: -
Listar coleções
> use meu_banco de dados;
> mostrar coleções;
usuários
Postagens
>
Listar bancos de dados
> mostrar banco de dados;
administrador 0,000 GB
configuração 0,000 GB
locais 0,000 GB
my_database 0,004 GB
>
Explore nossos cursos populares de ciência de dados
Programa Executivo de Pós-Graduação em Ciência de Dados do IIITB | Programa de Certificação Profissional em Ciência de Dados para Tomada de Decisões de Negócios | Mestre em Ciência de Dados pela Universidade do Arizona |
Programa de Certificado Avançado em Ciência de Dados do IIITB | Programa de certificação profissional em ciência de dados e análise de negócios da Universidade de Maryland | Cursos de Ciência de Dados |
Encontrar o primeiro documento em uma coleção
> db.users.findOne()
{
“_id”: ObjectId(“5ce45d7606444f199acfba1e”),
“nome”: {dado: “Anna”, família: “Smith”},
“e-mail”: “[email protected]”
“idade”: 36
}
>
Contar documentos em uma coleção
> use meu_banco de dados;
> db.users.count()
20234
>
Encontrar um documento por ID
> db.users.findOne({_id: ObjectId(“5ce45d7606444f199acfba1e”)})
{
“_id”: ObjectId(“5ce45d7606444f199acfba1e”),
“nome”: {dado: “Anna”, família: “Smith”},
“e-mail”: “[email protected]”,
“idade”: 36
}
>
Consultando coleções do MongoDB
A mesma sintaxe no MongoDB Query Language (MQL) é usada nos documentos que podem ser usados em consultas avançadas. Você encontrará os exemplos de consulta do MongoDB abaixo:
Encontre um número limitado de resultados
> db.users.find().limit(10)
…
>
Encontrar usuários por sobrenome
> db.users.find({“name.family”: “Smith”}).count()
1
>
Observe que colocamos “name.family” entre aspas, porque tem um ponto no meio.
Consultar Documentos por Intervalos Numéricos
// Todas as postagens com campo “curtidas” com valor numérico maior que um:
> db.post.find({gosta: {$gt: 1}})
// Todas as postagens com 0 curtidas
> db.post.find({gosta: 0})
// Todas as postagens que NÃO possuem exatamente 1 curtida
> db.post.find({gosta: {$ne: 1}})
Classificar resultados por um campo
// ordenar por idade, em ordem crescente (valores menores primeiro)
> db.user.find().sort({idade: 1})
{
“_id”: ObjectId(“5ce45d7606444f199acfba1e”),
“nome”: {dado: “Alex”, família: “Smith”},
“e-mail”: “[email protected]”,
“idade”: 27
}
{
_id: ObjectId(“5effaa5662679b5af2c58829”),
e-mail: “[email protected]”,
nome: {dado: “Jesse”, família: “Xiao”},
idade: 31
}
>
// ordena por idade, em ordem decrescente (os maiores valores primeiro)
> db.user.find().sort({idade: -1})
{
_id: ObjectId(“5effaa5662679b5af2c58829”),
e-mail: “[email protected]”,
nome: {dado: “Lilly”, família: “Mona”},
idade: 31
}
{
“_id”: ObjectId(“5ce45d7606444f199acfba1e”),
“nome”: {dado: “Anna”, família: “Smith”},
“e-mail”: “[email protected]”,
“idade”: 36
}
>
Principais habilidades de ciência de dados para aprender em 2022
SL. Não | Principais habilidades de ciência de dados para aprender em 2022 | |
1 | Curso de Análise de Dados | Cursos de Estatística Inferencial |
2 | Programas de teste de hipóteses | Cursos de regressão logística |
3 | Cursos de Regressão Linear | Álgebra Linear para Análise |
Conclusão
A escalabilidade do MongoDB o torna um dos bancos de dados mais amplamente usados porque oferece vários benefícios no campo de desenvolvimento de software e ciência de dados. Seguir uma carreira nessas áreas é uma opção lucrativa. O Programa PG Executivo em Ciência de Dados do upGrad é um ótimo lugar para iniciar sua carreira em ciência de dados e outros campos relacionados.
Por que o MongoDB é tão fácil de escalar?
O MongoDB é fácil de escalar porque não é um banco de dados SQL, pois os dados dentro do MongoDB não são acoplados relacionalmente. Os dados no MongoDB são armazenados em um formato independente que permite fácil dimensionamento horizontal ao distribuir esses documentos em vários sistemas (nós).
Qual é a diferença entre MongoDB e sistemas de banco de dados como MariaDB e MySQL?
MongoDB é um banco de dados NoSQL, enquanto MariaDB e MySQL são bancos de dados SQL. Além disso, o MongoDB é um banco de dados não relacional, enquanto os outros dois são bancos de dados relacionais.
Por que o MongoDB é tão popular?
MongoDB é uma parte essencial da pilha MERN no desenvolvimento web. Também é fácil implantar e dimensionar projetos no MongoDB. O MongoDB é conhecido por sua escalabilidade. É um ótimo ajuste para qualquer pipeline de desenvolvimento.