Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
Design do Modelo de dados Realm
Modelos de dados eficazes oferecem suporte às necessidades do seu aplicativo. A principal consideração para a estrutura de seus documentos é a decisão de incorporar ou usar referências.
Modelos de dados incorporados
Com o MongoDB, você pode incorporar dados relacionados em uma única estrutura ou documento. Esses esquemas são geralmente conhecidos como modelos "desnormalizados" e aproveitam os ricos documentos do MongoDB. Considere o seguinte diagrama:
Os modelos de dados incorporados permitem que os aplicativos armazenem informações relacionadas no mesmo registro de banco de dados. Como resultado, os aplicativos podem precisar emitir menos queries e atualizações para concluir operações comuns.
Em geral, use Modelo de dados Realm incorporados quando:
você tem relacionamentos "contém" entre entidades. Consulte Modelar relacionamentos um para um com documentos incorporados.
você tem relacionamentos um-para-muitos entre entidades. Nesses relacionamentos, os "muitos" ou documentos filho sempre aparecem com ou são exibidos no contexto do "um" ou documentos pai. Consulte Modelar relacionamentos um-para-muitos com documentos incorporados.
Em geral, a incorporação fornece melhor desempenho para operações de leitura, bem como a capacidade de solicitar e recuperar dados relacionados em uma única operação de reconhecimento de data center. Modelo de dados Realm incorporados possibilitam a atualização de dados relacionados em uma única operação de gravação atômica.
Para acessar dados em documentos incorporados, use a notação de pontos para "alcançar" documentos incorporados. Consulte query de dados em arrays e query data em documentos incorporados para obter mais exemplos sobre como acessar dados em arrays e documentos incorporados.
Modelo de dados incorporados e limite de tamanho do documento
Os documentos no MongoDB devem ser menores que o tamanho máximo do documento BSON.
Para dados binários em massa, considere o GridFS.
Modelo de dados Realm normalizados
Modelo de dados Realm normalizados descrevem relacionamento usando referências entre documento.
Em geral, use Modelo de dados Realm normalizados:
quando a incorporação resultaria em duplicação de dados, mas não forneceria vantagens suficientes de desempenho de leitura para superar as implicações da duplicação.
para representar relacionamentos muitos-para-muitos mais complexos.
para modelar grandes conjuntos de dados hierárquicos.
Para participar de collection, o MongoDB fornece os estágios de agregação:
$lookup
(Disponível a partir do MongoDB 3.2)$graphLookup
(Disponível a partir do MongoDB 3,4)
O MongoDB também fornece referências para unir dados entre collection.
Para obter um exemplo de modelos de dados normalizados, consulte Modele relacionamentos um-a-muitos com referências de documentos.
Para obter exemplos de vários modelos de árvore, consulte Estruturas de árvore modelo.
Leitura adicional
Para obter mais informações sobre modelagem de dados com o MongoDB, faça o download do Guia de Modernização de Aplicativos MongoDB.
O download inclui os seguintes recursos:
Apresentação sobre a metodologia de modelagem de dados com o MongoDB
Artigo técnico que aborda as melhores práticas e considerações para migrar de um modelo de dados SGBD para o MongoDB
Referenciar o esquema do MongoDB com seu equivalente em SGBD
Scorecard de modernização de aplicativos