Question: Est-ce que j'inclus mes commentaires enfants dans un commentaire parent unique ou non?Commentaires imbriqués (enfants) dans un commentaire parent unique dans MongoDB
Vue d'ensemble:
Création système de commentaires
Les commentaires peuvent avoir des enfants
En ce moment, chaque enfant de commentaire ou d'un parent est stocké comme un enregistrement dans une collection appelée
SubmissionCommentsSchema
Les commentaires enfants ont une clé => valeur de
parent_id
=>Object ID
oùObject ID
fait référence à un commentaire parent ayant unparent_id
denull
.
schéma ressemble:
SubmissionCommentsSchema = new Schema({
id : Schema.ObjectId,
submission_id : {
type: String
},
parent_id : {
type: String,
default: null
},
comment : {
type: String,
required: true
},
user_id: {
type: String,
required: true
},
username : {
type: String,
required: true
},
created : {
type: Date,
default: Date.now
},
reply : {
type: Boolean,
default: false,
required: true
},
deleted : {
type: Boolean,
default: false
}
});
Exemple d'un commentaire parent:
{ submission_id: '51899313634afe0000000051',
comment: 'asdfadsf',
user_id: '516e173f48670b44d20004dc',
username: 'bobcobb',
_id: 51899338634afe0000000055,
deleted: false,
reply: false,
created: Tue May 07 2013 16:50:16 GMT-0700 (PDT),
parent_id: null },
Exemple d'un commentaire de l'enfant faisant référence au commentaire parent au-dessus:
{ submission_id: '51899313634afe0000000051',
comment: 'Testing one two four',
user_id: '516b45f8ac6a1b488e000001',
username: 'testing',
_id: 519d93a83867470000000146,
deleted: false,
reply: false,
created: Wed May 22 2013 20:57:28 GMT-0700 (PDT),
parent_id: '51899338634afe0000000055' },
- En les servant à une vue, je les tire tous en arrière et les fais passer en boucle pour voir lesquels ont
parent_id
s! ==null
. Si c'est le cas, alors je mets ceux-ci dans une liste et les ajoute au commentaire parent, puis jette ceux dans la vue.
Dois-je simplement stocker les commentaires enfants dans le commentaire parent d'origine en tant que tableau imbriqué?
Hmm intéressant. Est-ce que je devrais faire ceci même si elles vont être (seulement) niveau profond? Parent> enfant | enfant | enfant | enfant –
S'ils ne sont JAMAIS d'un niveau profond alors vous n'avez pas besoin du tableau des ancêtres ou de la profondeur et si vous pouvez garantir qu'il n'y aura qu'un petit nombre, alors vous pouvez aller de l'avant et les intégrer, bien sûr. –