Einrichten von Dokumentbeziehungen
In diesem ersten Schritt erstellen Sie zwei separate Collections und bauen eine Beziehung zwischen ihnen auf. Wir modellieren ein gängiges Szenario: eine Bibliotheksdatenbank mit authors (Autoren) und books (Büchern). Jedes Buch wird auf seinen Autor verweisen.
Öffnen Sie zunächst die MongoDB Shell. Diese interaktive Befehlszeilenschnittstelle (command-line interface) ermöglicht Ihnen die Interaktion mit Ihrer MongoDB-Instanz.
mongosh
Sobald Sie sich in der Shell befinden, sehen Sie eine test> Eingabeaufforderung. Wechseln wir zu einer neuen Datenbank namens library_database. Wenn die Datenbank nicht existiert, erstellt MongoDB sie für Sie, sobald Sie die ersten Daten speichern.
use library_database
Lassen Sie uns nun die Collection authors erstellen, indem wir zwei Dokumente einfügen. Jedes Dokument hat eine eindeutige _id vom Typ ObjectId, die wir für die Referenzierung verwenden werden.
db.authors.insertMany([
{
_id: ObjectId("660a1f5c9b8f8b1234567890"),
name: "Jane Austen",
nationality: "British"
},
{
_id: ObjectId("660a1f5c9b8f8b1234567891"),
name: "George Orwell",
nationality: "British"
}
]);
Sie sollten eine Bestätigung sehen, dass die Dokumente erfolgreich eingefügt wurden.
Beispielausgabe:
{
"acknowledged": true,
"insertedIds": {
"0": ObjectId("660a1f5c9b8f8b1234567890"),
"1": ObjectId("660a1f5c9b8f8b1234567891")
}
}
Als Nächstes erstellen Sie die Collection books. In jedem Buchdokument speichert das Feld author_id die ObjectId des entsprechenden Autors aus der Collection authors. Dies schafft die Verknüpfung zwischen einem Buch und seinem Autor.
db.books.insertMany([
{
title: "Pride and Prejudice",
author_id: ObjectId("660a1f5c9b8f8b1234567890"),
year: 1813
},
{
title: "1984",
author_id: ObjectId("660a1f5c9b8f8b1234567891"),
year: 1949
}
]);
Beispielausgabe:
{
"acknowledged": true,
"insertedIds": {
"0": ObjectId("660b2a1c9b8f8b1234567892"),
"1": ObjectId("660b2a1c9b8f8b1234567893")
}
}
Sie haben nun erfolgreich zwei Collections erstellt und Dokumente in der Collection books mit Dokumenten in der Collection authors verknüpft. Lassen Sie die MongoDB-Shell für den nächsten Schritt geöffnet.