MongoDB 컬렉션 생성하기

MongoDBMongoDBBeginner
지금 연습하기

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

이 랩에서는 MongoDB Shell (mongosh) 을 사용하여 데이터베이스와 컬렉션을 생성하고 관리하는 데 중점을 두고 MongoDB 를 사용하는 기본적인 단계를 배우게 됩니다. MongoDB Shell 을 시작하고, 새로운 데이터베이스를 생성하며, 컬렉션을 추가하고, 샘플 문서를 삽입하고, 기본적인 컬렉션 관리 작업을 수행하는 방법을 탐구할 것입니다.

실습을 통해 use, createCollection(), insertOne(), insertMany(), 그리고 drop()과 같은 필수적인 MongoDB 명령에 대한 실질적인 경험을 얻게 될 것입니다. 이 랩을 마치면, MongoDB 에서 기본적인 Create, Read, Update, Delete (CRUD) 작업을 수행하는 방법에 대한 확실한 이해를 갖게 되어, 더 발전된 데이터베이스 상호 작용을 위한 강력한 기반을 다질 수 있습니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 86.49%입니다.학습자들로부터 98.61%의 긍정적인 리뷰율을 받았습니다.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mongodb(("MongoDB")) -.-> mongodb/DataTypesGroup(["Data Types"]) mongodb(("MongoDB")) -.-> mongodb/BasicOperationsGroup(["Basic Operations"]) mongodb(("MongoDB")) -.-> mongodb/QueryOperationsGroup(["Query Operations"]) mongodb/BasicOperationsGroup -.-> mongodb/start_mongodb_shell("Start MongoDB Shell") mongodb/BasicOperationsGroup -.-> mongodb/create_database_collection("Create Database and Collection") mongodb/BasicOperationsGroup -.-> mongodb/insert_document("Insert Document") mongodb/BasicOperationsGroup -.-> mongodb/delete_document("Delete Document") mongodb/QueryOperationsGroup -.-> mongodb/find_documents("Find Documents") mongodb/DataTypesGroup -.-> mongodb/use_string_data_types("Use String Data Types") subgraph Lab Skills mongodb/start_mongodb_shell -.-> lab-420695{{"MongoDB 컬렉션 생성하기"}} mongodb/create_database_collection -.-> lab-420695{{"MongoDB 컬렉션 생성하기"}} mongodb/insert_document -.-> lab-420695{{"MongoDB 컬렉션 생성하기"}} mongodb/delete_document -.-> lab-420695{{"MongoDB 컬렉션 생성하기"}} mongodb/find_documents -.-> lab-420695{{"MongoDB 컬렉션 생성하기"}} mongodb/use_string_data_types -.-> lab-420695{{"MongoDB 컬렉션 생성하기"}} end

MongoDB Shell 시작하기

MongoDB 실습 랩에 오신 것을 환영합니다! 이 포괄적인 튜토리얼에서는 MongoDB Shell (mongosh) 을 사용하여 MongoDB 의 기본적인 작업을 탐구할 것입니다. 이 랩은 MongoDB 를 사용한 데이터베이스 관리에 대한 실용적이고 단계별 소개를 제공하도록 설계되었습니다.

MongoDB 는 동적이고 확장 가능한 데이터 저장을 가능하게 하는 강력하고 유연한 NoSQL 데이터베이스입니다. 실습을 시작하기 전에, 환경을 설정하고 탐험을 시작해 보겠습니다.

터미널을 열고 MongoDB Shell 시작하기

MongoDB 여정을 시작하기 위해 먼저 MongoDB Shell 을 시작합니다. 이 대화형 환경을 통해 명령을 사용하여 MongoDB 데이터베이스와 직접 상호 작용할 수 있습니다.

랩 환경에서 터미널을 열고 mongosh 명령을 실행하여 MongoDB Shell 을 시작합니다.

mongosh

MongoDB Shell 출력:

Current Mongosh Log ID: 65a7f3e8f5a8a9b3c4d5e6f7
Connecting to:           mongodb://127.0.0.1:27017/
Using MongoDB:           7.0.2
Using Mongosh:           2.1.1

기본적인 MongoDB Shell 명령 탐색하기

MongoDB 인스턴스에서 사용 가능한 데이터베이스를 나열하는 것으로 시작해 보겠습니다.

MongoDB Shell 입력:

> show dbs

MongoDB Shell 출력:

admin   40.00 KiB
config  12.00 KiB
local   40.00 KiB

이러한 기본 데이터베이스는 MongoDB 가 자동으로 생성하는 시스템 데이터베이스입니다. 다음 단계에서는 자체 데이터베이스와 컬렉션을 생성할 것입니다.

데이터베이스 및 컬렉션 생성하기

이제 MongoDB Shell 을 시작했으니, 새로운 데이터베이스와 컬렉션을 생성하는 방법을 배워보겠습니다. MongoDB 에서 데이터베이스와 컬렉션은 처음 사용할 때 동적으로 생성됩니다.

새로운 데이터베이스로 전환하기

use 명령을 사용하여 university라는 새로운 데이터베이스를 생성합니다.

MongoDB Shell 입력:

> use university

MongoDB Shell 출력:

switched to db university

use 명령은 데이터베이스가 존재하지 않으면 새로운 데이터베이스를 생성하고, 기존 데이터베이스로 전환합니다.

컬렉션 생성하기

다음으로, university 데이터베이스 내에 students라는 컬렉션을 생성합니다.

MongoDB Shell 입력:

> db.createCollection("students")

MongoDB Shell 출력:

{ ok: 1 }

데이터베이스 및 컬렉션 확인하기

현재 데이터베이스를 확인하고 해당 컬렉션을 나열해 보겠습니다.

MongoDB Shell 입력:

> db

MongoDB Shell 출력:

university

MongoDB Shell 입력:

> show collections

MongoDB Shell 출력:

students

새로운 데이터베이스와 컬렉션을 성공적으로 생성했으며, 다음 작업을 위한 준비를 마쳤습니다.

샘플 문서 삽입하기

이 단계에서는 students 컬렉션에 문서를 삽입하는 방법을 배우겠습니다. MongoDB 는 유연한 JSON 과 유사한 문서 모델을 사용하며, 이는 동적이고 다양한 데이터 구조를 허용합니다.

단일 문서 삽입하기

insertOne() 메서드를 사용하여 단일 학생 문서를 삽입하는 것으로 시작합니다.

MongoDB Shell 입력:

> db.students.insertOne({
    name: "John Doe",
    age: 22,
    major: "Computer Science",
    gpa: 3.7
})

MongoDB Shell 출력:

{
  acknowledged: true,
  insertedId: ObjectId("...")
}

여러 문서 삽입하기

이제 insertMany() 메서드를 사용하여 여러 학생 문서를 삽입해 보겠습니다.

MongoDB Shell 입력:

> db.students.insertMany([
    {
        name: "Alice Smith",
        age: 21,
        major: "Data Science",
        gpa: 3.9
    },
    {
        name: "Bob Johnson",
        age: 23,
        major: "Software Engineering",
        gpa: 3.5
    }
])

MongoDB Shell 출력:

{
  acknowledged: true,
  insertedIds: {
    '0': ObjectId("..."),
    '1': ObjectId("...")
  }
}

삽입된 문서 확인하기

문서의 수를 확인하고 내용을 살펴보겠습니다.

MongoDB Shell 입력:

> db.students.countDocuments()

MongoDB Shell 출력:

3

MongoDB Shell 입력:

> db.students.find()

MongoDB Shell 출력:

[
  {
    _id: ObjectId('674433d99d1e4f9235c1c18c'),
    name: 'John Doe',
    age: 22,
    major: 'Computer Science',
    gpa: 3.7
  },
  {
    _id: ObjectId('674433e09d1e4f9235c1c18d'),
    name: 'Alice Smith',
    age: 21,
    major: 'Data Science',
    gpa: 3.9
  },
  {
    _id: ObjectId('674433e09d1e4f9235c1c18e'),
    name: 'Bob Johnson',
    age: 23,
    major: 'Software Engineering',
    gpa: 3.5
  }
]

컬렉션 상태 보기

효과적인 데이터베이스 관리를 위해서는 컬렉션의 상태와 특성을 이해하는 것이 중요합니다. 이 단계에서는 컬렉션 정보를 검색하는 다양한 방법을 살펴보겠습니다.

컬렉션 통계 확인하기

stats() 메서드를 사용하여 컬렉션에 대한 자세한 정보를 얻습니다.

MongoDB Shell 입력:

> db.students.stats()

MongoDB Shell 출력:

{
  ns: 'university.students',
  count: 3,
  size: 456,
  avgObjSize: 152,
  storageSize: 16384,
  freeStorageSize: 0,
  capped: false,
  nindexes: 1,
  indexDetails: { _id_: { ... } },
  totalIndexSize: 16384,
  indexSizes: { _id_: 16384 },
  scaleFactor: 1
}

컬렉션 정보 나열하기

컬렉션에 대한 기본 정보를 표시합니다.

MongoDB Shell 입력:

> db.students.dataSize()

MongoDB Shell 출력:

456

MongoDB Shell 입력:

> db.students.count()

MongoDB Shell 출력:

3

컬렉션 인덱스 보기

컬렉션의 인덱스를 확인합니다.

MongoDB Shell 입력:

> db.students.getIndexes()

MongoDB Shell 출력:

[
  {
    v: 2,
    key: { _id: 1 },
    name: '_id_',
    ns: 'university.students'
  }
]

테스트 컬렉션 삭제하기

이 마지막 단계에서는 MongoDB 에서 컬렉션을 삭제 (drop) 하는 방법을 보여드리겠습니다. 이는 데이터베이스에서 전체 컬렉션을 제거하려는 경우에 유용합니다.

테스트 컬렉션 생성하기

먼저, 삭제 과정을 시연하기 위해 임시 컬렉션을 생성합니다.

MongoDB Shell 입력:

> use university

MongoDB Shell 출력:

switched to db university

MongoDB Shell 입력:

> db.createCollection("temp_students")

MongoDB Shell 출력:

{ ok: 1 }

MongoDB Shell 입력:

> db.temp_students.insertOne({name: "Test Student"})

MongoDB Shell 출력:

{
  acknowledged: true,
  insertedId: ObjectId("...")
}

컬렉션 삭제하기

drop() 메서드를 사용하여 임시 컬렉션을 제거합니다.

MongoDB Shell 입력:

> db.temp_students.drop()

MongoDB Shell 출력:

true

컬렉션 제거 확인하기

컬렉션이 더 이상 존재하지 않는지 확인합니다.

MongoDB Shell 입력:

> show collections

MongoDB Shell 출력:

students

축하합니다! 데이터베이스 생성, 문서 삽입, 컬렉션 상태 확인, 컬렉션 삭제와 같은 주요 작업을 배우면서 MongoDB 실습 랩을 완료했습니다.

요약

이 랩에서는 실질적인 실습을 통해 MongoDB 를 사용하는 핵심 기술을 성공적으로 익혔습니다. 먼저 MongoDB Shell 을 실행하고 "university"라는 새 데이터베이스를 생성한 다음 "students" 컬렉션을 추가하는 것으로 시작했습니다. 그런 다음 insertOne()insertMany() 메서드를 사용하여 단일 및 다중 문서를 삽입하는 연습을 하면서 문서 생성 및 관리에 대한 통찰력을 얻었습니다.

또한 컬렉션 통계 확인, 문서 수 세기, 컬렉션 삭제와 같은 중요한 MongoDB 작업도 탐구했습니다. 이러한 기본적인 기술은 데이터베이스 상호 작용을 이해하는 데 탄탄한 기반을 제공하여 기본적인 CRUD 작업을 수행하고 MongoDB 데이터베이스를 효과적으로 관리할 수 있는 자신감을 심어줍니다. 단계별 접근 방식을 통해 실제 데이터베이스 관리 시나리오에 적용할 수 있는 실용적인 지식을 갖추게 되었습니다.

OSZAR »