pymongo로 DB조작

pymongo 기본 코드

from pymongo import MongoClient // pymongo를 쓰겠습니다.(임포트)
client = MongoClient('localhost', 27017) // 내 컴퓨터에서 실행하고 있는 mongoDB에서 27017 포트로 돌아갑니다.
db = client.dbsparta // 'dbsparta'라는 이름의 db로 접속할건데 없으면 자동으로 만들어서 접속하겠습니다.

// 코딩 시작

pymongo(insert)

* DB연결하기 & 데이터 넣기

// 'users'라는 collection에 {~}를 넣습니다.
db.users.insert_one({'name':'bobby','age':21})
db.users.insert_one({'name':'kay','age':27})
db.users.insert_one({'name':'john','age':30})
doc = {'name':'bobby','age':21} // 딕셔너리를 만듦
db.users.insert_one(doc) // 딕셔너리를 'users' 안에 넣습니다.

pymongo(find)

* 모든 결과 값을 보기 & 데이터 찾기

same_ages = list(db.users.find({'age':21},{'_id':False}))
// MongoDB에서 데이터 모두 보기
all_users = list(db.users.find({}))

// 참고) MongoDB에서 특정 조건의 데이터 모두 보기
same_ages = list(db.users.find({'age':21},{'_id':False}))

print(all_users[0])         // 0번째 결과값을 보기
print(all_users[0]['name']) // 0번째 결과값의 'name'을 보기

for user in all_users:      // 반복문을 돌며 모든 결과값을 보기
    print(user)
same_ages = list(db.users.find({'age':21},{'_id':False}))
// 뭔가를 찾아서 'same_ages' 변수에 넣음
// '{'age':21}' : 조건
// '{'_id':False}' : ongoDB의 id 값을 나타내지 말라는 뜻
// 모든 조건을 다 가져오라고 명령을 내릴때는 '{'age':21}'를 {}로만 작성하면 됨

pymongo(find_one)

* 특정 결과 값을 뽑아 보기

user = db.users.find_one({'name':'bobby'})
user = db.users.find_one({'name':'bobby'})
print(user)

pymongo(update_one)

* 있는 데이터를 업데이트 & 수정하기

db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
// 생김새
db.people.update_many(찾을조건,{ '$set': 어떻게바꿀지 })

// 예시 - 오타가 많으니 이 줄을 복사해서 씁시다!
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

user = db.users.find_one({'name':'bobby'})
print(user)

pymongo(delete_one)

* 데이터 삭제하기 (거의 안 씀)

db.users.delete_one({'name':'bobby'})
db.users.delete_one({'name':'bobby'})

user = db.users.find_one({'name':'bobby'})
print(user)

pymongo 코드 요약

// 저장 - 예시
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'})

좋은 웹페이지 즐겨찾기