Dokumentverweise erstellen
In diesem Schritt lernen Sie, wie Sie in MongoDB Dokumentverweise erstellen, was eine grundlegende Technik zur Herstellung von Beziehungen zwischen verschiedenen Sammlungen ist.
Beginnen wir zunächst mit dem Start der MongoDB-Shell:
mongosh
Wir werden zwei Sammlungen erstellen, um die Dokumentreferenzierung zu demonstrieren: authors
und books
. Dies ist ein häufiger Fall, in dem Bücher mit ihren Autoren verknüpft sind.
Erstellen Sie die Autoren-Sammlung:
use library_database
db.authors.insertMany([
{
_id: ObjectId("660a1f5c9b8f8b1234567890"),
name: "Jane Austen",
nationality: "British"
},
{
_id: ObjectId("660a1f5c9b8f8b1234567891"),
name: "George Orwell",
nationality: "British"
}
])
Beispielausgabe:
{
acknowledged: true,
insertedIds: {
'0': ObjectId("660a1f5c9b8f8b1234567890"),
'1': ObjectId("660a1f5c9b8f8b1234567891")
}
}
Erstellen wir nun die Bücher-Sammlung mit Verweisen auf Autoren:
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")
}
}
Verifizieren wir die Verweise, indem wir Bücher mit ihren Autoren-Details abfragen:
db.books.aggregate([
{
$lookup: {
from: "authors",
localField: "author_id",
foreignField: "_id",
as: "author_details"
}
}
])
Dies zeigt, wie Sie in MongoDB Dokumentverweise erstellen. Wir haben Bücher mit ihren Autoren über das author_id
-Feld verknüpft, das die ObjectId des entsprechenden Autors enthält.