[python] 파이썬으로 MongoDB의 데이터 파이프라인 구축하기

MongoDB는 유연하고 확장 가능한 NoSQL 데이터베이스입니다. 파이썬은 MongoDB와의 통신을 쉽게 할 수 있는 많은 라이브러리를 제공하며, 데이터 파이프라인을 구축하는 데 유용합니다. 이번 글에서는 파이썬으로 MongoDB의 데이터 파이프라인을 구축하는 방법에 대해 알아보겠습니다.

목차

MongoDB와의 연결

먼저, MongoDB와 파이썬을 연결해야 합니다. pymongo 라이브러리를 사용하여 MongoDB와의 연결을 설정할 수 있습니다. 다음은 연결 예제입니다.

import pymongo

# MongoDB에 연결
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 데이터베이스 선택
db = client["mydatabase"]

# 컬렉션 선택
collection = db["mycollection"]

데이터 조회

MongoDB에서 데이터를 조회하기 위해서는 find() 메서드를 사용합니다. 조건을 지정하여 원하는 데이터를 조회할 수 있습니다. 다음은 조회 예제입니다.

# 모든 데이터 조회
results = collection.find()

# 조건에 맞는 데이터 조회
query = { "name": "John" }
results = collection.find(query)

# 조회 결과 출력
for result in results:
    print(result)

데이터 삽입

새로운 데이터를 MongoDB에 삽입하기 위해서는 insert_one() 또는 insert_many() 메서드를 사용합니다. 다음은 삽입 예제입니다.

# 단일 데이터 삽입
data = { "name": "Alice", "age": 25 }
result = collection.insert_one(data)

# 다중 데이터 삽입
data = [
    { "name": "Bob", "age": 30 },
    { "name": "Charlie", "age": 35 }
]
result = collection.insert_many(data)

# 삽입 결과 출력
print(result.inserted_ids)

데이터 업데이트

MongoDB의 데이터를 업데이트하기 위해서는 update_one() 또는 update_many() 메서드를 사용합니다. 다음은 업데이트 예제입니다.

# 단일 데이터 업데이트
query = { "name": "Alice" }
new_data = { "$set": { "age": 26 } }
result = collection.update_one(query, new_data)

# 다중 데이터 업데이트
query = { "age": { "$lt": 30 } }
new_data = { "$set": { "age": 31 } }
result = collection.update_many(query, new_data)

# 업데이트 결과 출력
print(result.modified_count)

데이터 삭제

MongoDB에서 데이터를 삭제하기 위해서는 delete_one() 또는 delete_many() 메서드를 사용합니다. 다음은 삭제 예제입니다.

# 단일 데이터 삭제
query = { "name": "Alice" }
result = collection.delete_one(query)

# 다중 데이터 삭제
query = { "age": { "$gt": 30 } }
result = collection.delete_many(query)

# 삭제 결과 출력
print(result.deleted_count)

위와 같이 파이썬을 사용하여 MongoDB의 데이터 파이프라인을 구축할 수 있습니다. pymongo 라이브러리는 다양한 기능과 옵션을 제공하므로, MongoDB와의 상호작용을 더욱 유연하고 강력하게 만들어줍니다.