[python] 파이썬으로 MongoDB의 데이터 비대용량 처리하기

MongoDB는 대용량의 데이터를 처리할 수 있는 강력한 NoSQL 데이터베이스입니다. 파이썬과 함께 사용하면 MongoDB의 데이터를 효율적으로 처리할 수 있습니다. 이번 블로그 포스트에서는 파이썬을 사용하여 MongoDB의 데이터 비대용량 처리에 대해 알아보겠습니다.

1. pymongo 모듈 설치하기

먼저 pymongo 모듈을 설치해야 합니다. pip 명령어를 사용하여 설치할 수 있습니다.

pip install pymongo

2. MongoDB 연결하기

MongoDB에 연결하려면 pymongo 모듈을 사용하여 MongoDB의 클라이언트 객체를 생성해야 합니다. 연결에 필요한 호스트, 포트, 데이터베이스 이름 등을 지정해야 합니다.

from pymongo import MongoClient

client = MongoClient('mongodb://localhost:27017/')
db = client['mydatabase']

3. 대용량 데이터 삽입하기

MongoDB에 대용량의 데이터를 삽입하는 방법에는 여러 가지가 있습니다. 가장 간단한 방법은 insert_many 메서드를 사용하여 여러 개의 문서를 한 번에 삽입하는 것입니다.

data = [
    {"name": "John", "age": 25, "city": "New York"},
    {"name": "Alice", "age": 30, "city": "London"},
    {"name": "Bob", "age": 35, "city": "Paris"},
    # 대용량의 데이터를 추가로 삽입하는 문서들...
]

collection = db['mycollection']
collection.insert_many(data)

4. 데이터 조회하기

MongoDB에서 데이터를 조회할 때는 find 메서드를 사용합니다. 필요한 조건을 지정하여 원하는 데이터를 검색할 수 있습니다. 예를 들어, 나이가 30 이상인 문서들을 검색하려면 다음과 같이 작성할 수 있습니다.

query = {"age": {"$gte": 30}}
result = collection.find(query)

for document in result:
    print(document)

5. 데이터 업데이트하기

기존에 삽입한 데이터를 업데이트해야 할 때는 update_one 또는 update_many 메서드를 사용합니다. 아래는 특정 조건을 만족하는 문서의 필드를 업데이트하는 예제입니다.

filter_query = {"name": "Alice"}
update_query = {"$set": {"city": "Tokyo"}}

collection.update_one(filter_query, update_query)

6. 데이터 삭제하기

특정 문서나 조건에 해당하는 데이터를 삭제할 때는 delete_one 또는 delete_many 메서드를 사용합니다. 아래는 조건에 해당하는 모든 문서를 삭제하는 예제입니다.

filter_query = {"age": {"$gte": 30}}

collection.delete_many(filter_query)

결론

파이썬을 사용하여 MongoDB의 데이터 비대용량 처리는 간단하고 효율적입니다. pymongo 모듈을 활용하여 데이터를 삽입, 조회, 업데이트, 삭제하는 방법을 알아보았습니다. 이를 통해 대용량 데이터를 효과적으로 다룰 수 있습니다.