La gestion des données dans mongoDB  est flexible. Cette flexibilité donne le choix de modélisation des données en fonction de votre application et ses exigences de performance. Les collections MongoDB n’oblige pas une structure des documents, chaque document peut  avoir des champs différents des autres documents. un document avec 4 champ, au autre avec 6 par exemple.

Le principal défi de la modélisation des données est d’équilibrer les besoins de l’application ( performance, récupération des données). On trouve dans MongoDB deux façons qui permettent aux applications de relier les documents.: references et embedded documents.

References :  avec cette méthode, les documents sont reliés par des liens, c’est à dire chaque document contient une référence vers un autre document. Il s’agit des modèles de données normalisées.

data-model-normalized

Embedded data : avec cette méthode, les données reliés sont stockées dans un document unique. MongoDB les traites comme des sous-documents. cette dénormalisation des modèles données permet aux applications de manipuler les données liés avec une seule opération, c’est à dire une seule requête.

data-model-denormalized

 

Source : http://docs.mongodb.org/manual/core/data-modeling-introduction/