[python] 파이썬으로 MongoDB의 쿼리 작성하기

데이터베이스 시스템을 사용할 때, 데이터를 필터링하고 조작하는 쿼리는 매우 중요합니다. MongoDB는 NoSQL 데이터베이스로, 파이썬과 함께 사용할 수 있는 유연한 쿼리 작성 기능을 제공합니다. 이번 포스트에서는 파이썬으로 MongoDB의 쿼리를 작성하는 방법에 대해 알아보겠습니다.

MongoDB 연결하기

먼저, 파이썬에서 MongoDB에 연결하는 방법을 알아봅시다. 파이썬에서 MongoDB를 사용하기 위해서는 pymongo 패키지를 설치해야 합니다. 아래의 명령을 사용하여 pymongo를 설치할 수 있습니다.

pip install pymongo

MongoDB에 연결하기 위해서는 pymongo.MongoClient 클래스를 사용합니다. 예를 들어, localhost에서 실행되는 MongoDB에 연결하려면 다음과 같은 코드를 사용할 수 있습니다.

from pymongo import MongoClient

# MongoDB에 연결하기
client = MongoClient('localhost', 27017)

쿼리 작성하기

MongoDB에서 데이터를 가져오기 위해서는 쿼리를 작성해야 합니다. 쿼리는 JSON 형식으로 작성됩니다. 파이썬에서는 딕셔너리 형식으로 쿼리를 작성한 후, find() 메서드를 사용하여 실행할 수 있습니다.

예를 들어, ‘users’ 컬렉션에서 age가 30 이상인 사용자를 가져오는 쿼리를 작성해보겠습니다.

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

위의 예제에서는 $gte 연산자를 사용하여 age 필드가 30 이상인 사용자를 필터링하고 있습니다.

결과 처리하기

find() 메서드를 사용하여 실행된 쿼리의 결과는 MongoDB의 커서 형태로 반환됩니다. 이 커서를 사용하여 결과를 반복하거나, 필요한 데이터를 추출할 수 있습니다. 예를 들어, name 필드만 추출하여 출력해보겠습니다.

for doc in result:
    print(doc['name'])

데이터 추가하기

데이터베이스에 새로운 데이터를 추가하기 위해서는 insert_one() 또는 insert_many() 메서드를 사용할 수 있습니다. 예를 들어, users 컬렉션에 새로운 사용자를 추가해보겠습니다.

new_user = { "name": "John", "age": 25 }
insert_result = db.users.insert_one(new_user)

print(insert_result.inserted_id)

위의 예제에서는 insert_one() 메서드를 사용하여 new_user 딕셔너리를 users 컬렉션에 추가하고, inserted_id를 출력하고 있습니다.

마무리

이번 포스트에서는 파이썬에서 MongoDB의 쿼리를 작성하는 방법에 대해 알아보았습니다. MongoDB와 파이썬을 함께 사용하여 데이터베이스 작업을 수행하는 것은 매우 편리하며 유연한 방법입니다. 파이썬과 MongoDB의 다양한 기능과 연산자를 활용하여 원하는 데이터를 추출하고 조작할 수 있습니다.

관련 참고 자료: