ubuntu docker 에서 mongodb container 를 설치하고 python에서 pymongo로 db를 조금 만져보려고 한다.
Ubuntu => Docker
$ docker run -d --name mongodb -p 27017:27017 mongo
위 명령어를 실행하면
-d 백그라운드에서 동작하는
--name mongodb mongodb 라는 이름을 가지고
-p 27017:27017 컨테이너 내부외부를 27017 포트로 통신하는 (mongodb의 기본 포트이다)
mongo container 를 실행한다.
만약 mongo image 가 없으면 자동으로 다운(pull) 받는다.
$ docker ps
위 명령어로 컨테이너가 제대로 실행됐나 확인해본다
mongo 이미지로 mongodb 라는 이름을 가진 컨테이너가 실행돼있다.
웹브라우저에서 localhost:27017 로 접속해보자.
이렇게 뜨면 제대로 실행중이다.
Python
이제 python 에서 mongodb 를 사용해보자.
$ pip install pymongo
mongodb 사용을 위해 pip로 pymongo 를 설치하고 코드를 작성하자
#db.py
from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017/')
db = client.newDB # db 를 하나 만들고
userCollection = db.user # db 에서 collection 을 만든다.
# insert_one() 으로 db 를 추가
userCollection.insert_one({
'name' : 'mik_a',
'age' : '100',
})
# find() 로 collection 에 저장된 데이터를 불러와서 출력한다
for i in userCollection.find() :
print(i)
# collection 의 데이터를 전부 삭제한다.
userCollection.delete_many({})
NoSQL DB인 mongodb 를 python 으로 간단하게 사용해봤다.