Créer des références de documents
Dans cette étape, vous allez apprendre à créer des références de documents dans MongoDB, qui est une technique fondamentale pour établir des relations entre différentes collections.
Tout d'abord, lançons le shell MongoDB :
mongosh
Nous allons créer deux collections pour démontrer la référence de documents : authors
et books
. Il s'agit d'un scénario courant où les livres sont liés à leurs auteurs.
Créez la collection authors
:
use library_database
db.authors.insertMany([
{
_id: ObjectId("660a1f5c9b8f8b1234567890"),
name: "Jane Austen",
nationality: "British"
},
{
_id: ObjectId("660a1f5c9b8f8b1234567891"),
name: "George Orwell",
nationality: "British"
}
])
Sortie exemple :
{
acknowledged: true,
insertedIds: {
'0': ObjectId("660a1f5c9b8f8b1234567890"),
'1': ObjectId("660a1f5c9b8f8b1234567891")
}
}
Maintenant, créons la collection books
avec des références aux auteurs :
db.books.insertMany([
{
title: "Pride and Prejudice",
author_id: ObjectId("660a1f5c9b8f8b1234567890"),
year: 1813
},
{
title: "1984",
author_id: ObjectId("660a1f5c9b8f8b1234567891"),
year: 1949
}
])
Sortie exemple :
{
acknowledged: true,
insertedIds: {
'0': ObjectId("660b2a1c9b8f8b1234567892"),
'1': ObjectId("660b2a1c9b8f8b1234567893")
}
}
Vérifions les références en interrogeant les livres avec les détails de leurs auteurs :
db.books.aggregate([
{
$lookup: {
from: "authors",
localField: "author_id",
foreignField: "_id",
as: "author_details"
}
}
])
Cela montre comment créer des références de documents dans MongoDB. Nous avons lié les livres à leurs auteurs en utilisant le champ author_id
, qui contient l'ObjectId de l'auteur correspondant.