J'ai lu que l'intégration est meilleure du point de vue des performances: "Si les performances sont un problème, intégrez". (http://www.mongodb.org/display/DOCS/Schema+Design) et la plupart des guides disent toujours que le contenu doit être incorporé.MongoDB intégré par rapport à la perspective de performance
Cependant, je ne suis pas sûr que ce soit le cas. Supposons que nous ayons deux objets: Blog et Post. Blog contient des messages.
maintenant faire tous les messages intégrés dans le blog auront les questions suivantes:
- Paging. Comme il n'est pas possible de filtrer les objets incorporés, nous recevons toujours tous les messages et nous devons les filtrer dans l'application.
- Filtrage. Comme précédemment, lors de la recherche de mots dans les publications, il ne sera pas possible de filtrer la collection intégrée de MongoDB.
- Insérez. Je suppose que l'insertion dans la collection est plus rapide que l'insertion dans un objet incorporé. Est-ce correct? ceci est écrit n'importe où?
- Mise à jour. Comme précédemment, le champ de mise à jour en ligne dans un document plus petit (Post) peut être plus rapide que la mise à jour en ligne du message dans le gros document de Blog. Est-ce correct?
En prenant tout ce qui précède, je voudrais aller pour avoir des messages dans une collection distincte Blog de référence. Est-ce la bonne conclusion?
(Note: S'il vous plaît ne limite la taille du document ne facteur dans la réponse, supposons que chaque blog aura au plus 1000 messages)
Merci pour la réponse détaillée. – mbdev
@mbdev: vous êtes les bienvenus. –
Etes-vous sûr que # 2 renvoie le blog avec un article correspondant au titre? Je pense qu'il renvoie le blog contenant un message avec "Mongodb!" Titre. Ensuite, la tranche ne ferait que filtrer le premier message. Donc, vous obtiendrez post incorrect – mbdev