150 votes

Sous-documents Mongoose vs schéma imbriqué

Je suis curieux de connaître les avantages et les inconvénients de l'utilisation de sous-documents par rapport à une couche plus profonde dans mon schéma principal :

var subDoc = new Schema({
  name: String
});

var mainDoc = new Schema({
  names: [subDoc]
});

o

var mainDoc = new Schema({
  names: [{
    name: String
 }]
});

J'utilise actuellement des subdocs partout, mais je m'interroge surtout sur les problèmes de performances ou de requêtes que je pourrais rencontrer.

2voto

Ahmad Zahabi Points 98

Il y a quelques différences entre les deux :

  • L'utilisation de schémas imbriqués est utile pour la validation.

  • Les schémas imbriqués peuvent être réutilisés dans d'autres schémas.

  • Le schéma imbriqué ajoute le champ '_id' au sous-document, sauf si vous avez utilisé "_id:false".

0voto

Dan Ang Points 1

J'ai trouvé l'explication de la FAQ de MongoDB assez bonne.

Il explique les scénarios dans lesquels vous devez utiliser l'intégration.

http://docs.mongodb.org/manual/faq/developers/#when-should-i-embed-documents-within-other-documents

Après la référence pour la conception de schémas MongoDB : http://www.mongodb.com/presentations/mongodb-melbourne-2012/schema-design-example

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X