컬렉션 및 참조 문서 생성
이 단계에서는 데이터베이스를 설정하고 authors와 books라는 두 개의 컬렉션을 생성합니다. 책을 저자에게 연결하여 문서 참조의 기본 개념을 배우게 됩니다.
먼저 MongoDB Shell 을 엽니다. 이 대화형 셸에서 모든 데이터베이스 명령을 실행합니다.
mongosh
셸에 들어가면 test> 프롬프트가 표시됩니다. library_db라는 새 데이터베이스로 전환합니다. 데이터베이스가 존재하지 않으면 MongoDB 는 데이터를 처음 저장할 때 데이터베이스를 생성합니다.
use library_db
이제 첫 번째 저자를 생성합니다. authors 컬렉션에 문서를 삽입합니다. 나중에 쉽게 참조할 수 있도록 이 저자에 대한 사용자 지정 _id를 지정합니다.
db.authors.insertOne({
_id: ObjectId("6633c9a5b4e3e8a5c8a8f8b1"),
name: "Jane Austen",
nationality: "British",
birthYear: 1775
})
다음으로 books 컬렉션에 문서를 삽입합니다. author_id 필드에는 방금 생성한 저자의 ObjectId가 포함됩니다. 이것이 참조를 생성하는 방법입니다.
db.books.insertOne({
title: "Pride and Prejudice",
author_id: ObjectId("6633c9a5b4e3e8a5c8a8f8b1"),
published: 1813,
genre: "Classic Literature"
})
이제 일대일 관계를 생성했습니다. 이를 확인하기 위해 방금 생성한 문서를 검색할 수 있습니다.
먼저 저자를 찾습니다.
db.authors.findOne({ name: "Jane Austen" })
예시 출력:
{
_id: ObjectId("6633c9a5b4e3e8a5c8a8f8b1"),
name: 'Jane Austen',
nationality: 'British',
birthYear: 1775
}
이제 책을 찾고 저자를 연결하는 author_id 필드를 확인합니다.
db.books.findOne({ title: "Pride and Prejudice" })
예시 출력:
{
_id: ObjectId("..."),
title: 'Pride and Prejudice',
author_id: ObjectId("6633c9a5b4e3e8a5c8a8f8b1"),
published: 1813,
genre: 'Classic Literature'
}
다음 단계를 위해 mongosh 셸에 계속 머물러 있을 수 있습니다.