Chapter 8-47. Python으로 다루는 MongoDB (PyMongo)

2025. 3. 27. 15:39·Database

 

🐍 Python으로 다루는 MongoDB (PyMongo)

MongoDB를 Python에서 다루기 위해 사용하는 대표적인 라이브러리는 PyMongo입니다.
이 섹션에서는 PyMongo를 이용해 MongoDB에 연결하고, 데이터를 삽입/조회/수정/삭제하는 기본 작업들을 예제로 살펴보겠습니다.


🔧 PyMongo 설치

pip install pymongo

🔗 MongoDB 데이터베이스에 연결하기

from pymongo import MongoClient

# MongoDB 인스턴스에 연결 (로컬 환경 기준)
client = MongoClient('mongodb://localhost:27017/')

# 사용자 인증이 필요한 경우
# client = MongoClient('mongodb://username:password@localhost:27017/')

# 데이터베이스 선택 (없으면 자동 생성)
db = client['example_db']

📁 콜렉션 생성 및 문서 삽입

# 콜렉션 선택 (없으면 자동 생성)
collection = db['example_collection']

# 새 문서 삽입
document = {"name": "John", "age": 30, "city": "New York"}
collection.insert_one(document)

🔍 문서 조회하기

# 모든 문서 조회
for doc in collection.find():
    print(doc)

# 조건에 맞는 문서 조회
query = {"name": "John"}
for doc in collection.find(query):
    print(doc)

✏️ 문서 업데이트하기

# 하나의 문서 업데이트
collection.update_one({"name": "John"}, {"$set": {"age": 31}})

# 여러 문서 업데이트
collection.update_many({"name": "John"}, {"$set": {"age": 32}})

❌ 문서 삭제하기

# 하나의 문서 삭제
collection.delete_one({"name": "John"})

# 여러 문서 삭제
collection.delete_many({"name": "John"})

🗑️ 콜렉션 및 데이터베이스 삭제

# 콜렉션 삭제
db.drop_collection("example_collection")

# 데이터베이스 삭제
client.drop_database("example_db")

✅ 요약

작업 메서드 설명

데이터 삽입 insert_one() 한 개의 문서 삽입
데이터 조회 find() 문서 전체 혹은 조건 검색
데이터 수정 update_one() / update_many() 조건에 맞는 문서 수정
데이터 삭제 delete_one() / delete_many() 조건에 맞는 문서 삭제
콜렉션 삭제 drop_collection() 콜렉션 제거
DB 삭제 drop_database() 전체 DB 제거

이제 PyMongo를 통해 MongoDB에 자유롭게 연결하고 데이터를 다룰 수 있게 되었습니다! 다음은 Aggregation을 PyMongo로 어떻게 처리하는지도 이어서 배워볼 수 있어요. 😊

'Database' 카테고리의 다른 글

Chapter 8-46. NoSQL MongDB(6/6) MongoDB Aggregation 문법  (0) 2025.03.27
Chapter 8-45. NoSQL MongDB(5/6) MongoDB 비교문법 & 논리연산  (0) 2025.03.27
Chapter 8-44. NoSQL MongDB(4/6) 연습문제  (0) 2025.03.27
Chapter 8-43. NoSQL MongDB(3/6) 쿼리기초  (0) 2025.03.27
Chapter 8-41. NoSQL MongoDB(2/6) MongoDB의 기본 구조  (0) 2025.03.26
'Database' 카테고리의 다른 글
  • Chapter 8-46. NoSQL MongDB(6/6) MongoDB Aggregation 문법
  • Chapter 8-45. NoSQL MongDB(5/6) MongoDB 비교문법 & 논리연산
  • Chapter 8-44. NoSQL MongDB(4/6) 연습문제
  • Chapter 8-43. NoSQL MongDB(3/6) 쿼리기초
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (807)
      • Python (32)
      • 프로젝트 (116)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (42)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (154)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    RM
    bts
    self-growth
    chinanightlife
    life reflection
    classaction
    americanlaw
    homebartrend
    chatgpterror
    lawsuitculture
    americaparty
    newpoliticalparty
    travel ban
    global politics
    btsjungkook
    gpterror
    youngprofessionals
    college reunions
    titaniumcase
    btsdischarge
    remittance
    trumpmuskclash
    basalcellcarcinoma
    뷔
    smartphonedurability
    btscomeback
    btsreunion
    livebroadcast
    hotcoffeecase
    urbantrends
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 8-47. Python으로 다루는 MongoDB (PyMongo)
상단으로

티스토리툴바