[python] 파이썬(PyMongo)을 사용한 MongoDB 쿼리 작성

MongoDB는 NoSQL 데이터베이스로, 파이썬에서 MongoDB에 접근하고 쿼리를 작성하는 방법을 살펴보겠습니다. 이를 위해서는 PyMongo라는 파이썬 라이브러리를 사용합니다.

PyMongo 설치

먼저, PyMongo를 설치해야 합니다. 다음 명령을 사용하여 PyMongo를 설치할 수 있습니다.

pip install pymongo

MongoDB 연결하기

먼저, MongoDB에 연결해야 합니다. 다음은 예시입니다.

from pymongo import MongoClient

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

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

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

위의 코드에서 “mongodb://localhost:27017/”는 MongoDB 서버의 주소를 나타냅니다. 필요에 따라 이를 수정해야 할 수도 있습니다. “mydatabase”는 사용할 데이터베이스 이름이며, “mycollection”은 사용할 컬렉션 이름입니다. 적절하게 수정하여 사용하십시오.

MongoDB 쿼리 작성

이제 MongoDB에 대한 쿼리를 작성해보겠습니다. PyMongo를 사용하면 다양한 쿼리 작성 방법이 있습니다. 여기에는 일부 예시가 포함되어 있습니다.

삽입

# 단일 문서 삽입
document = {"name": "John", "age": 30}
collection.insert_one(document)

# 다중 문서 삽입
documents = [
    {"name": "Alice", "age": 25},
    {"name": "Bob", "age": 35}
]
collection.insert_many(documents)

조회

# 전체 문서 조회
cursor = collection.find()
for document in cursor:
    print(document)

# 조건에 맞는 문서 조회
query = {"age": {"$gt": 30}}
cursor = collection.find(query)
for document in cursor:
    print(document)

수정

# 조건에 맞는 문서 업데이트
query = {"name": "John"}
new_values = {"$set": {"age": 40}}
collection.update_one(query, new_values)

# 조건에 맞는 모든 문서 업데이트
query = {"age": {"$lt": 30}}
new_values = {"$set": {"age": 30}}
collection.update_many(query, new_values)

삭제

# 조건에 맞는 문서 삭제
query = {"name": "John"}
collection.delete_one(query)

# 조건에 맞는 모든 문서 삭제
query = {"age": {"$gt": 30}}
collection.delete_many(query)

위의 코드는 쿼리 작성의 일부 예시입니다. 실제로 MongoDB에서 사용되는 다양한 쿼리 옵션이 있으며, 필요에 따라 더 복잡한 쿼리 작성이 가능합니다.

참고 자료