Je pense que la réponse courte à votre question principale est non. Vous ne pouvez pas avoir un document incorporé à plusieurs endroits. C'est comme essayer d'avoir un œuf qui est à l'intérieur de deux coquilles simultanément. Dans ma tête, je pense aux relations mongodb comme des oignons (couches = embeds) avec des fils qui se connectent à d'autres oignons (thread = référence). Ce pourrait être une analogie foutue, mais ça marche pour moi. Disons que les personnages - même ceux portant le même nom - sont uniques au jeu dans lequel ils se trouvent. Donc, ceux-ci seraient intégrés. Les scènes ressemblent à un exemple clair de tableau incorporé.
Vous n'auriez jamais une scène apparue dans plusieurs pièces.
L'apparence doit être intégrée dans une scène pour les mêmes raisons que les scènes intégrées dans les pièces. Apparence ferait également référence au personnage. Y a-t-il une apparence qui ne fait pas référence à un personnage? Je ne pense pas, mais pas sûr.
Je ferais comme ça (pseudo-modélisation):
Play {
embeds-many Characters
embeds-many Scenes }
Scene { embeds-many Appearances }
Appearance { references a Character }
Character { }
Je pense qu'il est certainement possible de faire référence au personnage de l'apparence, il vous suffit de stocker l'ID du caractère à l'intérieur du Apparence. La prochaine question est de savoir dans quelle langue vous travaillez ... Si vous êtes dans Rails, personnellement, j'aime Mongoid.
Je pense que vous dites quelque chose de similaire à la réponse ci-dessus. Vous ne voudriez pas que le personnage apparaisse dans plus d'une pièce. Les personnages d'une pièce de théâtre n'appartiendraient qu'à cette pièce. – KevDog