pymongo는 파이썬으로 MongoDB를 조작하는 라이브러리

 

만약 엑셀을 파이썬으로 조작하려면 남이 만들어놓은 라이브러리를 쓰는게 좋듯

남이  만들어 놓은 pymongo라는 라이브러리를 사용

 

크롤링과 마찬가지로 기본 코드를 깔고 해야함

1
2
3
4
5
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
 
# 코딩 시작
cs

 

INSERT / FIND / UPDATE / DELETE

1. insert : 데이터 넣는것

2. find : 찾는것ㅅ

3. update : update하는것

4. delete : 삭제하는것

# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
 
# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})
 
# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age':21},{'_id':False}))
 
# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
 
# 지우기 - 예시
db.users.delete_one({'name':'bobby'})
cs

 

1.insert

1
2
3
4
5
6
7
8
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
 
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
cs

run하면 print도 없고 당연히 안나옴

근데 Robo3T 가서 mylocalbd를 refresh하면 생김

from pymongo import MongoClient 파이몬고를 쓰겠습니다

client = MongoClient('localhost', 27017) 내 컴퓨터에서 돌아가고 있는 몽고디비에 접속할겁니다

db = client.dbsparta 디비 스파르타라고 하는 디비에 접속하겠습니다(없으면 생김)

 

2-1. find (반복문을 넣어본 코드)(모든 document를 find하려면 {'age':21}을 빈 중괄호로 바꾸면 됌{})

무언가를 찾아서 same_ages라는 변수에 넣기

1
2
3
4
5
6
7
8
9
10
from pymongo import MongoClient
client = MongoClient('localhost'27017)
db = client.dbsparta
 
 
 
same_ages = list(db.users.find({'age':21},{'_id':False}))
 
for person in same_ages:
    print(person)
cs

 

{'-id':False}가 들어가는 이유는 아래 보여지는 불필요한 _id값이 다 나오기 때문에

2-2. find_one

 

 
user = db.users.find_one({'name':'bobby'})z
from pymongo import MongoClient
client = MongoClient('localhost'27017)
db = client.dbsparta
 
 
user = db.users.find_one({'name':'bobby'},{'_id':False})
print(user)
cs

 

3.update_one (update_many 도 있지만 위험해서 잘 안씀)

 
user = db.users.find_one({'name':'bobby'})z
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
 
 
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
 
cs

4.delete (마찬가지로 delete_many가 있지만 위험해서 잘 안씀)

 
user = db.users.find_one({'name':'bobby'})z
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
 
 
db.users.delete_one({'name':'bobby'})
 
cs

 

 

 

역할

 

Mongo DB = 데이터 베이스

Mongo DB는 내 눈에 보이지 않고 돌아감

 

robo 3T가 눈에 보이지 않는 Mongo DB를 보기위해 사용

 

 

데이터 베이스를 쓰는 이유

데이터를 잘 쌓으려고x

데이터를 잘 찾으려고o

 

db에는 두 가지 종류가 있음

SQLNoSQL

 

SQL = 엑셀에 가까움 (ex 출석부를 만들때 이름, 연락처, 주소 등등을 정하고 내용을 채워넣는 방식)

NoSQL = 정해져 있지 않고 한줄 한줄이 딕셔너리 형태로 들어감 어떤 데이터가 없고, 어떤 데이터가 더있고 이런건 상관없이 저장

 

SQL은 미리 정해둬야 함

(ex 추가 데이터를 넣으려면 이전까지 있던 데이터에 추가 하기 힘들고 새로 추가로 데이터를 저장하는 시점부터 해야함 추가하는데 너무 복잡함)

NoSQL은 뭘 추가 할필요 없이 그냥 새로 들어오는 데이터들은 추가 데이터 넣어두면 됌(유연함)

초기 스타트업이나 초기 서비스들에서 많이 채택하는 데이터베이스 방식

 

SQL = MS-SQL, My-SQL

NoSQL = MongoDB

 

 

 

 

 

 

 

크롬에 localhost:27017 치면 

it looks like you~나오면 몽고db가 잘 돌아간다는거임

 

 

 

 

+ Recent posts