#5 - Modelando Dados no MongoDB

Introdução a modelagem de dados no MongoDB.

Imagem de capa

Dados no MongoDB tem documentos de esquemas flexíveis em uma mesma coleção. Isso quer dizer que não há necessidade ter o mesmo conjunto de campos ou estrutura e campos comuns. Documentos de uma coleção podem conter diferentes tipos de dados.

Algumas considerações quando for modelar esquemas no MongoDB

Exemplo

Supondo que um cliente necessite de um projeto de banco de dados para seu site de blog, veja as diferenças entre projetos de esquemas em banco de dados relacionais e em banco de dados MongoDB. O blog tem os seguintes requisitos.

Para os requisitos acima, projetos de esquemas em BD’s relacionais devem ter no mínimo 3 tabelas

RDBMS

Enquanto que em projetos de esquemas no MongoDB devemos ter uma única coleção de postagem(post) tendo a seguinte estrutura:

{
   _id: POST_ID
   title: TITLE_OF_POST, 
   description: POST_DESCRIPTION,
   by: POST_BY,
   url: URL_OF_POST,
   tags: [TAG1, TAG2, TAG3],
   likes: TOTAL_LIKES, 
   comments: [  
      {
         user: COMMENT_BY,
         message: TEXT,
         dateCreated: DATE_TIME,
         like: LIKES 
      },
      {
         user: COMMENT_BY,
         message: TEXT,
         dateCreated: DATE_TIME,
         like: LIKES
      }
   ]
}

Assim, ao mostrar os dados, em banco de dados relacionais você precisará efetuar joins das três tabelas e em banco de dados MongoDB seus dados serão mostrados usando apenas uma coleção.

Fonte traduzida: Tutorials Point - MongoDB Data Modeling