Mongo db - banco de dados
O que é?
Mongo DB é um SGBD orientado a documentos opensource, ou seja, trabalha como tipo NoSQL base de dados, onde não há tabelas específicas para guardar os dados como é feito nos SGBD’s relacionais e sendo assim não é utilizado “JOIN’s” pois sua indexação serve para não precisar percorrer uma lista de dados desnecessariamente.
Os documentos guardados pelo MongoDB são do tipo JSON e BSON, onde JSON é um tipo de formatação de dados de texto que é muito utilizado hoje em dia para recuperação de dados pois sua estrutura é mais simples que os outros tipo como XML e outros, já o BSON é a estrutura JSON transformada em números binários, onde o conjunto de caracteres encontrados dentro de uma estrutura JSON.
A estrutura do banco de dados não é necessário adicionar tabelas ou colunas, mas sim adicionar dados em um documento, sendo assim não haverá relacionamentos entre campos, ou seja, será feita uma referência entre documentos caso vc queira obter dados de 2 documentos distintos. Podemos dar um exemplo encontrado na documentação do MongoDB, que são descritos posts e comentários de um blog, onde um post poderá ter diversos comentários que não precisariam ser separados por 2 tabelas no caso de um modelo relacional, que teríamos uma tabela chamada post e outra comentários e para relacionar estes dados teríamos uma outra tabela definindo qual comentário pertence a qual post, já no MongoDB podemos criar coleções para cada campo descrito no nosso banco de dados, ou seja, criaríamos uma coleção para posts e outra para comentários assim fazendo uma referencia entre as tabela como se fossem chaves estrangeiras que possibilitam o acesso aos dados das 2 tabelas.
Principais funcionalidades:
As consultas para Banco de dados MongoDB podem ser feitas com qualquer atributo relacionado a um documento, e este SGBD possui muitas funções nativas para filtragem, agregação e classificação dos dados. Podemos criar índices diretamente em atributos dentro de um