MongoDB 컬렉션 생성

MongoDBBeginner
지금 연습하기

소개

이 랩에서는 MongoDB 작업을 위한 기본 단계를 배우게 됩니다. MongoDB Shell (mongosh) 을 사용하여 데이터베이스를 생성하고, 컬렉션을 추가하고, 문서를 삽입하고, 기본적인 데이터 관리 작업을 수행합니다. 이 실습 접근 방식은 핵심 MongoDB 명령에 대한 실질적인 경험을 제공하여 더 고급 데이터베이스 작업을 위한 견고한 기반을 마련할 것입니다.

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

MongoDB 셸 시작 및 데이터베이스 생성

첫 번째 단계는 대화형 셸인 mongosh를 사용하여 MongoDB 서버에 연결하는 것입니다. 이 도구를 사용하면 데이터베이스 인스턴스에 직접 명령을 실행할 수 있습니다.

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

mongosh

연결 메시지가 표시되며, 이제 mongosh 환경에 있음을 나타냅니다.

Current Mongosh Log ID: 65a7f3e8f5a8a9b3c4d5e6f7
Connecting to:           mongodb://127.0.0.1:27017/
Using MongoDB:           8.0.2
Using Mongosh:           2.2.6
...
test>

test> 프롬프트는 현재 기본 test 데이터베이스에 연결되어 있음을 나타냅니다. 프로젝트를 위해 새 데이터베이스로 전환해 보겠습니다. MongoDB 에서는 아직 존재하지 않는 데이터베이스로 전환할 수 있습니다. 데이터를 처음 저장할 때 자동으로 생성됩니다.

use 명령을 사용하여 my_store라는 새 데이터베이스로 전환합니다.

use my_store

셸에서 전환을 확인합니다.

switched to db my_store

현재 사용 중인 데이터베이스를 확인하려면 db를 입력할 수 있습니다.

db;

출력에서 현재 데이터베이스의 이름이 표시됩니다.

my_store

컬렉션 생성 및 문서 삽입

이제 my_store 데이터베이스에 있으므로 다음 단계는 컬렉션을 만드는 것입니다. 컬렉션은 MongoDB 문서의 그룹으로, 관계형 데이터베이스의 테이블과 유사합니다.

products라는 컬렉션을 만들어 보겠습니다. createCollection() 메서드를 사용하여 명시적으로 수행할 수 있습니다.

db.createCollection("products");

성공적인 작업은 성공을 나타내는 객체를 반환합니다.

{ ok: 1 }

products가 생성되었는지 확인하기 위해 현재 데이터베이스의 모든 컬렉션을 나열할 수 있습니다.

show collections
products

컬렉션을 생성했으므로 이제 첫 번째 문서를 삽입할 수 있습니다. 문서는 BSON 객체로, JSON 과 유사한 문서의 이진 인코딩 직렬화입니다.

insertOne() 메서드를 사용하여 products 컬렉션에 단일 문서를 추가합니다.

db.products.insertOne({
  name: "Laptop",
  price: 1200,
  category: "Electronics"
});

MongoDB 는 삽입을 확인하고 새 문서의 고유한 _id를 제공합니다.

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

ObjectId는 각 문서에 대해 자동으로 생성되며 기본 키 역할을 합니다.

여러 문서 삽입

종종 한 번에 여러 문서를 컬렉션에 추가해야 할 수 있습니다. MongoDB 는 이 목적을 위해 insertMany() 메서드를 제공합니다. 이 메서드는 insertOne()을 여러 번 호출하는 것보다 더 효율적입니다.

products 컬렉션에 두 개의 제품을 더 추가해 보겠습니다. insertMany() 메서드는 인수로 문서 객체의 배열을 받습니다.

db.products.insertMany([
  {
    name: "Keyboard",
    price: 75,
    category: "Electronics"
  },
  {
    name: "Desk Chair",
    price: 150,
    category: "Furniture"
  }
]);

출력은 작업이 승인되었음을 확인하고 새로 삽입된 각 문서의 _id 값을 나열합니다.

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

이제 products 컬렉션에 있는 총 문서 수를 확인해 보겠습니다. 이를 위해 countDocuments() 메서드를 사용할 수 있습니다.

db.products.countDocuments();

셸은 이전 단계의 문서 하나와 방금 추가한 두 개를 반영하여 3을 반환해야 합니다.

3

문서 조회 및 보기

데이터를 삽입한 후에는 데이터를 검색하고 보기를 원할 것입니다. 컬렉션을 쿼리하는 기본 메서드는 find()입니다.

products 컬렉션의 모든 문서를 보려면 인수를 사용하지 않고 find() 메서드를 실행합니다.

db.products.find();

mongosh 셸은 가독성을 위해 출력을 자동으로 포맷하여 컬렉션의 세 문서 모두를 표시합니다.

[
  {
    _id: ObjectId("..."),
    name: 'Laptop',
    price: 1200,
    category: 'Electronics'
  },
  {
    _id: ObjectId("..."),
    name: 'Keyboard',
    price: 75,
    category: 'Electronics'
  },
  {
    _id: ObjectId("..."),
    name: 'Desk Chair',
    price: 150,
    category: 'Furniture'
  }
]

find() 메서드는 결과를 필터링하기 위한 쿼리 문서도 받을 수 있습니다. 이를 통해 특정 기준과 일치하는 문서를 찾을 수 있습니다. 예를 들어 "Electronics" 카테고리의 모든 제품을 찾아보겠습니다.

db.products.find({ category: "Electronics" });

이 명령은 category 필드의 값이 "Electronics"인 문서만 반환합니다.

[
  {
    _id: ObjectId("..."),
    name: 'Laptop',
    price: 1200,
    category: 'Electronics'
  },
  {
    _id: ObjectId("..."),
    name: 'Keyboard',
    price: 75,
    category: 'Electronics'
  }
]

이 간단한 필터링 기능은 컬렉션에서 특정 데이터를 검색하는 강력한 기능입니다.

컬렉션 삭제

마지막 단계에서는 데이터베이스에서 컬렉션을 제거하는 방법을 배웁니다. 이 작업은 되돌릴 수 없으며 컬렉션과 해당 문서 및 인덱스를 모두 삭제합니다. 임시 데이터를 정리하거나 더 이상 사용되지 않는 컬렉션을 제거할 때 유용합니다.

이를 시연하기 위해 먼저 임시 컬렉션을 만들어 보겠습니다.

db.createCollection("temp_data");
{ ok: 1 }

이제 temp_data 컬렉션에서 drop() 메서드를 사용하여 삭제합니다.

db.temp_data.drop();

컬렉션이 성공적으로 삭제되면 명령은 true를 반환합니다.

true

컬렉션이 제거되었는지 확인하려면 데이터베이스의 모든 컬렉션을 다시 나열할 수 있습니다.

show collections

이제 출력에는 products 컬렉션만 표시되어 temp_data가 삭제되었음을 확인합니다.

products

이것으로 MongoDB 에서 컬렉션을 관리하는 기본 작업이 완료되었습니다. 완료되면 mongosh 셸을 종료하는 것을 잊지 마십시오.

exit;

요약

이 실습에서는 MongoDB 작업을 위한 기본 기술을 배웠습니다. mongosh 셸을 사용하여 MongoDB 인스턴스에 연결하는 것부터 시작했습니다. 그런 다음 데이터베이스와 컬렉션을 만들고, 단일 및 다중 문서를 삽입하고, find() 메서드를 사용하여 해당 데이터를 쿼리하는 연습을 했습니다. 마지막으로 drop() 명령을 사용하여 컬렉션을 안전하게 제거하는 방법을 배웠습니다. 이러한 핵심 작업 (생성, 읽기, 삭제) 은 MongoDB 를 데이터 저장소로 사용하는 모든 애플리케이션의 빌딩 블록입니다. 이제 MongoDB 환경에서 데이터를 관리하는 데 필요한 기본 지식을 갖추었습니다.