MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongoose :populate() / DBref ou duplication de données ?

Si vous avez besoin d'interroger vos utilisateurs, gardez les utilisateurs seuls. Si vous devez interroger vos téléchargements, gardez les téléchargements seuls.

Une autre question que vous devriez vous poser est la suivante :chaque fois que j'ai besoin de ces données, ai-je besoin des objets intégrés (et vice-versa) ? Combien de fois ces données seront mises à jour ? Combien de fois ces données seront-elles lues ?

Pensez à une demande d'amitié : Chaque fois que vous avez besoin de la demande, vous avez besoin de l'utilisateur qui a fait la demande, puis intégrez la demande dans le document utilisateur.

Vous pourrez également créer un index sur l'objet embarqué, et votre recherche sera mono requête / rapide / cohérente.

Juste un lien vers ma réponse précédente sur une question similaire : Relations Mongo DB entre objets

Je pense que ce message vous conviendra http://www.mongodb.org/ display/DOCS/Schema+Design

Cas d'utilisation

Client / Commande / Élément de commande

Système de blog.

Principes de base de la conception de schémas

Kyle Banker, 10e génération

Indexation et optimisation des requêtesAlvin Richards, directeur principal de l'ingénierie d'entreprise

**Ces 2 vidéos sont les meilleures jamais vues sur mongoddb à mon humble avis*