pymongo의 핵심 4가지
#insert / find / update / delete
넣고 찾고 업데이트하고 삭제하기
//pymongo를 씁니다.
from pymongo import MongoClient
//내 컴퓨터에 돌아가고있는 mongoDB에 접속합니다.
client = MongoClient('localhost', 27017)
//dbsparta라고하는 db이름으로 접속할 것입니다.
db = client.dbsparta
//mongoDB는 dictionary가 쌓이는 것이므로
doc = {'name':'bobby','age':21} <이렇게 하나를 만듦
db.users.insert_one(doc) //딕셔너리를 db안의 users에 넣는 것
python의 run을 눌러 구동시킨 후 Robo 3T에 가서 오른쪽 상단의 2번째 View results in table mode를 누르면
//이 부분의 이름과 나이부분을 바꾸고 run할 때마다 db에 자료가 쌓임을 확인한다!
doc = {'name':'jane','age':21}
db.users.insert_one(doc)
//{'age':21}=조건을 나타냄
same_ages = list(db.users.find({'age':21},{'_id':False}))
print(same_ages)
{'_id':False}는 '_id'부분을 결과값에 나타내지 말라는 의미
//same_ages가 list안에 있는 딕셔너리이므로 하나씩 돌면서 출력됨!
for person in same_ages:
print(person)
same_ages = list(db.users.find({},{'_id':False})) //조건부분에 괄호만 있는 공백으로 놔두기!
user = db.users.find_one({'name':'bobby'},{'_id':False})
print(user['age']) //['age']지정해주면 bobby의 나이만 뜸
name이 bobby인 곳을 하나 찾아 age를 19로 바꾸기
유의할 점은 Collection의 이름이 users인지 확인하는 것!
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
update_many도 있으나 해당 조건의 모두를 업데이트 하는 것이므로 잘 사용하지 않는다.
name이 bobby인 곳을 하나 찾아 지우기
이것도 delete_many가 있으나 위험요소가 커 거의 사용하지않는다.
db.users.delete_one({'name':'bobby'})
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
user = db.users.find_one({'name':'bobby'})
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'})