mongoDB 불러오기 명령어
from pymongo import MongoClient
client = MongoClient('여기에 URL 입력')
db = client.dbsparta
터미널에 dnspython 설치
pip install dnspython
터미널에 pymongo 설치
pip install pymongo
pymongo 홈페이지에서 가입 후 FREE DB 만들기
DB를 만들고 위의 불러오기 명령어에 주소와 패스워드 입력
이제 python으로 실행시키면 mongoDB에 입력이 된다.
doc = {
name : 영수,
age : 24
}
db.users.insertOne(doc)
입력 결과는 mongoDB에서 내 데이터베이스의 Collections에 가면
위 처럼 표시된다.
다른 새로운 내용을 추가하고 싶다면 위 코드를 여러번 사용한다.
all_users = list(db.user.find({},{'_id':False}))
for a in all_users:
print(a)
을 입력한다.
빈 중괄호 {} 안에는 조건을 입력하고 입력하지 않으면 모두 가져온다.
뒤에 '_id':False 를 지우면, id값이 붙어나온다.
때문에 안 보고싶다면 위처럼 입력한다.
users = db.user.find_one({})
print(user)
을 입력하고 실행한다. id값을 지우라는 명령어를 적지 않았기때문에 id값도 같이 출력된다.
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
을 입력한다.
나는 영수의 나이를 변경해보고 싶어서
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
이렇게 입력했고 결과는
이렇게 바뀌었다.
db.users.delete_one({'name':'bobby'})
나는 영수를 없애보기 위해 bobby에 영수를 입력했고 결과를 확인할 수 있었다.
.
.
.
.
아래는
까먹었을때 보는 한번에 볼 수 있는 요약!
# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})
# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
all_users = list(db.users.find({},{'_id':False}))
# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
# 지우기 - 예시
db.users.delete_one({'name':'bobby'})
from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:test@cluster0.x0xikyx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta
import requests
from bs4 import BeautifulSoup
URL = "https://movie.daum.net/ranking/reservation"
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(URL,headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
video_list = soup.select("#mainContent > div > div.box_ranking > ol > li")
for v in video_list:
# print(v)
rank = v.select_one(".rank_num").text
title = v.select_one(".tit_item").text.strip("\n")
rate = v.select_one(".txt_grade").text
doc = {
'title':title,
'rank':rank,
'rate':rate
}
db.movies.insert_one(doc)
과거에 했던 코드에 위 3줄을 붙여주고
doc으로 넣어주고, movies 라는 db를 새로 만들어주면 결과는
좌측에 movies라는 탭이 새로 생성되면서 스크래핑 자료가 업로드 되었다!
#1번 퀴즈 특정 영화의 평점 가져오기
from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:test@cluster0.x0xikyx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta
moive = db.movies.find_one({'title':'롱디'})
print(moive['rate'])
결과
# 2번 퀴즈 특정 영화의 평점고 같은 평점의 영화 제목 가져오기
from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:test@cluster0.x0xikyx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta
movie = db.movies.find_one({'title':'롱디'})
target_rate = movie['rate']
movies = list(db.movies.find({'rate':target_rate},{'_id':False}))
for a in movies:
print(a['title'])
결과
# 3번퀴즈 '롱디' 영화의 평점을 0으로 만들기
from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:test@cluster0.x0xikyx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta
db.movies.update_one({'title' : '롱디'},{'$set':{'rate':0}})
결과