2012-05-16 12 views
1


Je souhaite stocker les 'mises à jour d'état' dans mongodb. Par conséquent, cette collection/tableau peut devenir très gros.
Je pense qu'une option serait d'enregistrer les documents dans un tableau imbriqué dans le document utilisateur/groupe/... (différentes collections ont besoin de leurs propres «mises à jour d'état»)
L'autre façon serait de créer une autre collection enregistrer les messages leur relation et l'utilisateur/groupe/... aux mises à jour de statut via une autre objectId
Je veux savoirMongoDB référence vs imbriquée

  • ce qui est plus rapide
  • ce qui est plus facile à gérer et requête

I pense que je ne vais pas utiliser un orm/drm juste "plaine" pymongo.
Je n'ai pas trouvé de réponse claire dans les docs, peut-être quelqu'un déjà testé cela?

Répondre

0

Ceci est une présentation plus ancienne, mais toujours pertinente pour ce genre de questions, et discute de certains compromis.

http://www.10gen.com/presentations/mongosf2011/schemascale

TLDR (W) - Tout dépend du nombre des mises à jour est "très grand", et comment vous y accéder. Si vous avez toujours besoin d'accéder à l'ensemble complet à la fois et qu'ils sont < 16 Mo, vous pouvez intégrer, si vous n'avez généralement besoin que de quelques-uns à la fois, vous pouvez lier. Il y a aussi une approche hybride qui consiste à intégrer les récents et à lier le reste.