문서 관계 설정
첫 번째 단계에서는 두 개의 별도 컬렉션을 생성하고 그들 간의 관계를 설정합니다. 라이브러리 데이터베이스에 authors와 books가 있는 일반적인 시나리오를 모델링할 것입니다. 각 책은 해당 저자를 참조하게 됩니다.
먼저 MongoDB Shell 을 엽니다. 이 대화형 명령줄 인터페이스를 통해 MongoDB 인스턴스와 상호 작용할 수 있습니다.
mongosh
쉘에 들어가면 test> 프롬프트가 표시됩니다. library_database라는 새 데이터베이스로 전환해 보겠습니다. 데이터베이스가 존재하지 않으면 MongoDB 는 데이터를 처음 저장할 때 자동으로 생성합니다.
use library_database
이제 두 개의 문서를 삽입하여 authors 컬렉션을 생성해 보겠습니다. 각 문서에는 ObjectId 유형의 고유한 _id가 있으며, 이를 참조에 사용할 것입니다.
db.authors.insertMany([
{
_id: ObjectId("660a1f5c9b8f8b1234567890"),
name: "Jane Austen",
nationality: "British"
},
{
_id: ObjectId("660a1f5c9b8f8b1234567891"),
name: "George Orwell",
nationality: "British"
}
]);
문서가 성공적으로 삽입되었다는 확인 메시지가 표시되어야 합니다.
예시 출력:
{
"acknowledged": true,
"insertedIds": {
"0": ObjectId("660a1f5c9b8f8b1234567890"),
"1": ObjectId("660a1f5c9b8f8b1234567891")
}
}
다음으로 books 컬렉션을 생성합니다. 각 책 문서에서 author_id 필드는 authors 컬렉션의 해당 저자의 ObjectId를 저장합니다. 이것이 책과 저자 간의 연결을 생성합니다.
db.books.insertMany([
{
title: "Pride and Prejudice",
author_id: ObjectId("660a1f5c9b8f8b1234567890"),
year: 1813
},
{
title: "1984",
author_id: ObjectId("660a1f5c9b8f8b1234567891"),
year: 1949
}
]);
예시 출력:
{
"acknowledged": true,
"insertedIds": {
"0": ObjectId("660b2a1c9b8f8b1234567892"),
"1": ObjectId("660b2a1c9b8f8b1234567893")
}
}
이제 두 개의 컬렉션을 성공적으로 생성했으며 books 컬렉션의 문서와 authors 컬렉션의 문서를 연결했습니다. 다음 단계를 위해 MongoDB 쉘을 열어 두세요.