641 Stimmen

MongoDB-Beziehungen: einbetten oder verweisen?

Ich bin neu bei MongoDB - ich komme von einer relationalen Datenbank. Ich möchte eine Fragenstruktur mit einigen Kommentaren entwerfen, aber ich weiß nicht, welche Beziehung ich für Kommentare verwenden soll: embed o reference ?

Eine Frage mit einigen Kommentaren, wie Stackoverflow hätte eine Struktur wie diese:

Question
    title = 'aaa'
    content = bbb'
    comments = ???

Zunächst möchte ich eingebettete Kommentare verwenden (ich denke embed wird in MongoDB empfohlen), etwa so:

Question
    title = 'aaa'
    content = 'bbb'
    comments = [ { content = 'xxx', createdAt = 'yyy'}, 
                 { content = 'xxx', createdAt = 'yyy'}, 
                 { content = 'xxx', createdAt = 'yyy'} ]

Das ist klar, aber ich mache mir Sorgen um diesen Fall: Wenn ich einen bestimmten Kommentar bearbeiten möchte, wie erhalte ich den Inhalt und die Frage? Es gibt keine _id um mich einen finden zu lassen, noch question_ref damit ich die Frage finden kann. (Ich bin so neu, dass ich nicht weiß, ob es eine Möglichkeit gibt, dies zu tun, ohne _id y question_ref .)

Muss ich die ref no embed ? Muss ich dann eine neue Sammlung für Kommentare anlegen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X