MongoDB는 NoSQL 기반의 분산형 데이터베이스 시스템으로, 데이터를 JSON 형식으로 저장하고 조회할 수 있습니다. 이번 포스트에서는 Python에서 MongoDB와의 데이터베이스 연동을 어떻게 할 수 있는지 알아보겠습니다.
pymongo 라이브러리 설치
MongoDB와의 연동을 위해 Python에서는 pymongo
라이브러리를 사용합니다. pymongo
는 MongoDB에 접속하고 데이터를 CRUD(Create, Read, Update, Delete) 작업을 수행하기 위한 다양한 기능을 제공합니다. pymongo
를 설치하기 위해 다음 명령어를 실행합니다.
pip install pymongo
MongoDB 연결하기
먼저, Python에서 MongoDB에 접속하기 위해 pymongo
를 임포트합니다.
import pymongo
다음으로, MongoDB 서버에 연결하기 위해 pymongo.MongoClient()
를 사용합니다. 이때, MongoDB 서버의 주소와 포트 번호를 지정해야 합니다. 만약 로컬에서 실행 중인 MongoDB를 사용한다면 다음과 같이 localhost
와 기본 포트 번호인 27017
을 사용할 수 있습니다.
client = pymongo.MongoClient("mongodb://localhost:27017/")
데이터베이스와 컬렉션 생성하기
MongoDB는 데이터를 데이터베이스(database)와 컬렉션(collection)으로 구성합니다. 데이터베이스는 여러 개의 컬렉션을 담는 컨테이너이고, 컬렉션은 문서(document)들의 그룹입니다.
데이터베이스와 컬렉션을 생성하려면 client
객체에서 mydb
와 mycollection
을 각각 생성하면 됩니다.
db = client["mydb"]
collection = db["mycollection"]
문서 삽입하기
MongoDB에서 문서를 삽입하기 위해서는 collection.insert_one()
또는 collection.insert_many()
메소드를 사용합니다.
document = {"name": "John", "age": 30, "city": "New York"}
result = collection.insert_one(document)
문서 조회하기
조회는 collection.find()
메소드를 사용하여 수행할 수 있습니다. find()
메소드는 쿼리를 인자로 받아 매칭되는 문서들을 반환합니다.
documents = collection.find({"city": "New York"})
for document in documents:
print(document)
문서 업데이트하기
문서를 업데이트하기 위해 collection.update_one()
또는 collection.update_many()
메소드를 사용합니다.
collection.update_one({"name": "John"}, {"$set": {"age": 35}})
문서 삭제하기
특정 조건을 만족하는 문서를 삭제하기 위해 collection.delete_one()
또는 collection.delete_many()
메소드를 사용합니다.
collection.delete_one({"name": "John"})
결론
이번 포스트에서는 Python에서 MongoDB와의 데이터베이스 연동을 어떻게 할 수 있는지 알아보았습니다. pymongo
라이브러리를 사용하여 MongoDB에 접속하고 데이터를 CRUD 작업을 수행할 수 있습니다. 아래의 참고 자료를 통해 pymongo
에 대해 더 자세히 알아보세요.