[python] python으로 MongoDB 연결하기 : MongoDB, pymongo, Studio 3T
2023. 1. 22. 20:21ㆍBackend/python
728x90
반응형
MongoDB
- 다양한 플랫폼에서 사용할 수 있는 NoSQL 타입의 데이터베이스 프로그램으로, JSON과 비슷한 형태로 자료를 정리한다.
- 각각의 딕셔너리인 도큐먼트가 모여 컬렉션, 컬렉션이 모여 DB가 되는 형태이다.
NoSQL
- 딕셔너리 형태로 데이터를 저장하는 DB이다.
- 데이터 하나하나 마다 같은 필드 값들을 가질 필요가 없어 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족할 수 있다.
MongoDB 설치하기
1. terminal에서 HomeBrew를 설치한다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
명령어 입력 후 패스워드 입력란이 나오면 맥북 패스워드를 입력한다.
(🚨 맥북 패스워드를 먼저 설정해놓아야 설치가 가능하다!)
2. mongoDB를 설치한다.
brew tap mongodb/brew
brew install mongodb-community
3. mongoDB를 실행한다.
brew services start mongodb-community
4. 실행되었는지 확인한다.
http://localhost:27017
👆🏻위 경로에 접속했을 때 아래 화면처럼 나오면 성공~!
Studio 3T
- MongoDB를 그래픽으로 볼 수 있게 도와주는 GUI이다.
Studio 3T 설치하기
1. [Robo 3T] 에 접속해서 설치한다.
(원래 Robo 3T를 설치하려 했으나 Studio 3T로 전환되어서 Studio 3T를 설치했다.)
2. Connection을 생성한다.
Manually~~ 선택 > Next
기본값으로 두고 > Next
pymongo
- MongoDB 프로그램을 조작하기 위한 라이브러리이다.
pymongo 설치하기
1. 프로젝트의 가상환경에서 pymongo 패키지를 설치한다.
pip install pymongo
pymongo 사용 방법
1. DB 연결하기
from pymongo import MongoClient
# mongoDB는 27017 포트로 돌아간다.
client = MongoClient('localhost', 27017)
# db이름으로 설정한 db가 생성된다.
db = client.db이름
- pymongo로 조작한 데이터는 위에서 설치한 Studio 3T에서도 확인할 수 있다.
2. insert : 데이터 추가하기
# 'users'라는 collection에 추가
db.users.insert_one({'name':'bobby','age':21})
3. find : 데이터 가져오기
find
: 모든 결과 보기 🚨list()
로 감싸야 한다.
# 전체 조회
all_users = list(db.users.find({}))
# 조건에 해당하는 데이터 전체 조회
same_ages = list(db.users.find({'age':21}))
# 키값을 기준으로 정렬
list(db.mystar.find({}, {'_id': False}).sort('like', -1))
find_one
: 특정 결과만 보기
user = db.users.find_one({'name':'bobby'})
# 특정 키 값을 빼고 조회
user = db.users.find_one({'name':'bobby'},{'_id':False})
4. update : 데이터 수정하기
db.people.update_many(찾을조건, {'$set': 어떻게바꿀지})
db.users.update_one({'name': 'bobby'}, {'$set': {'age': 19}})
5. delete : 데이터 삭제하기
db.users.delete_one({'name':'bobby'})
6. form : 클라이언트가 전달한 데이터 받기
name_receive = request.form['name_give']
728x90
반응형
'Backend > python' 카테고리의 다른 글
[python] Flask로 서버 실행하기 (0) | 2023.01.22 |
---|---|
[python] beautifulsoup4 Web Scraping, 웹 스크래핑 (0) | 2023.01.22 |
[python] 파이썬 패키지 설치하기, requests 패키지 사용하기 (0) | 2023.01.20 |