mongodb 사용, pymongo 설치 및 기초 틀 ,코드

2022. 12. 11. 20:13mongodb

mongodb기초에 대해 배웠습니다. 

-noSQL방법으로 딕셔너리 형태로 DB를 저장하는 방법입니다.

-자유로운 데이터 적재가 장점이지만 일관성이 부족한 단점이 있다. 주로 스타트업에서 많이 이용한다고 합니다.

-mongodb가입은 스파르타 코딩 강의 영상을 천천히 따라 하니 쉽게 하였습니다. 연습을 코딩을 위한 가입은 free로 할 수 있었습니다. 

-mongodb를 사용하려면 특별한 라이브러리 pymongo 패키지를 파이참에서 다운로드해야 합니다.

-mongodb를 사용하려면 free로 만든 url을 pymongo 기본 코드 url 부분에 붙여 넣기 했습니다.

 

from pymongo import MongoClient
client = MongoClient('url 입력')
db = client.dbsparta

-pymongo 기본 코드입니다. ( 스파르타 코딩에서 제공)

이러한 기본코드만 알아도 사용하기 편리한 것  같습니다.

mongodb 저장 및 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)

db.(mongodb파일 이름).insert_one('변수명') 으로 monodb에 데이터를 추가 및 저장할 수 있습니다.

mongodb 데이터 찾기
movie = db.movies.find_one({'title':'가버나움'})['star']
print(movie)

movie = db.movies.find_one({'title':'가버나움'})
print(movie['star'])

이번엔 강의 중간에 있었던 퀴즈를 풀어봤습니다. 위에가 제가 푼 답, 밑이 선생님의 풀이입니다.

 

여러 개 찾기 (_id 값은 제외하고 출력)
all_movie = list(db.movies.find({},{'_id':False}))
for movie in all_movie:
    if(movie['star'] == "9.59"):
        print(movie['title'])

movie = db.movies.find_one({'title':'가버나움'})
star = movie['star']
all_movies = list(db.movies.find({'star':star},{'_id':False}))
for m in all_movies:
    print(m['title'])

이번에도 퀴즈 위에 제가 푼 답, 밑이 선생님의 풀이입니다.

 

바꾸기
db.movies.update_one({'title':'가버나움'},{'$set':{'star':"0"}})

이번 퀴즈는 선생님과 똑같았습니다.

 

이렇게 기본 용법과 코드를 알려주니 퀴즈도 많이 헤매지 않고 풀 수 있어서 좋은 것 같아요.~

 

 

db.movies.insert_one(doc)

위에 예시들을 하기 전에 웹스크래핑을 통해  (doc)이라는 딕셔너리로 데이터를  for문으로 받고 mongodb에 movies라는 폴더를 만들어 그곳에 insert 하였습니다.