Ich bin neu in MongoDB und komme aus einer relationalen Datenbank. Ich möchte eine Fragenstruktur mit einigen Kommentaren entwerfen, weiß aber nicht, welche Beziehung für Kommentare verwendet werden soll: embed
oder reference
?
Eine Frage mit einigen Kommentaren, wie z. B. Stackoverflow , hätte eine folgende Struktur:
Question
title = 'aaa'
content = bbb'
comments = ???
Zuerst möchte ich eingebettete Kommentare verwenden (ich denke, dies embed
wird in MongoDB empfohlen), wie folgt:
Question
title = 'aaa'
content = 'bbb'
comments = [ { content = 'xxx', createdAt = 'yyy'},
{ content = 'xxx', createdAt = 'yyy'},
{ content = 'xxx', createdAt = 'yyy'} ]
Es ist klar, aber ich mache mir Sorgen um diesen Fall: Wenn ich einen bestimmten Kommentar bearbeiten möchte, wie erhalte ich seinen Inhalt und seine Frage? Es gibt keine _id
Möglichkeit, mich einen finden question_ref
zu lassen oder seine Frage zu finden. (Ich bin so ein Neuling, dass ich nicht weiß, ob es eine Möglichkeit gibt, dies ohne _id
und zu tun question_ref
.)
Muss ich ref
nicht verwenden embed
? Dann muss ich eine neue Sammlung für Kommentare erstellen?