본문 바로가기

Coding

[Python] Pymongo (feat. insert, find, delete, update)

Pymongo를 사용하여 mongoDB 데이터 입력, 찾기, 수정, 삭제를 해보려고 한다.

 

우선 Pycham에서 pymong를 install 해준다.

Pymongo install 완료 후 첨부 된 Pymongo기본코드를 입력해준다.

 

pymongo 기본코드.txt
0.00MB

----------------------------------------------------------------------------------------------------------------

 

from pymongo import MongoClient
# pymongo르 쓰겠습니다.
client = MongoClient('localhost', 27017)
# 내 컴퓨터에서 작동 중인 mongoDB에 접속하곘습니다.
db = client.dbsparta
# dbsparta라는 db 이름으로 접속하겠습니다. 만약 없으면 자동으로 만들어진다.

 

----------------------------------------------------------------------------------------------------------------

 

mongoDb 코드 요약.txt
0.00MB

 

pymongo 기본 코드 4가지는 아래와 같다.
# insert / find / update / delete

 

doc = {'name':'bobby','age':21}
# name이 bobby이며 age가 21인 doc(dictionary)를 아래 db.users에 추가한다.
db.users.insert_one(doc)

 

#mylocalDB - dbsparta - users - 오른쪽 아이콘 click시 name : bobby age : 21을 확인할 수 있다.

 

 

 

doc = {'name':'john','age':27}
# john, age라는 값을 또 추가해보자.
db.users.insert_one(doc)

 

 

pymongo 기본 코드 4가지는 아래와 같다.
# insert / find /update / delete

 

same_ages = list(db.users.find({'age':21},{'_id':False}))
# db.users에 있는 db에서 age 21인 값을 받아 온다. _id 란에 있는 값은 받아오지 않는다.
print(same_ages)

 

=> [{'name': 'bobby', 'age': 21}, {'name': 'Jane', 'age': 21}]

 

=> _id:False를 쓰지 않는다면 아래와 같이 _id가 포함되어 출력되어 데이터 값이 지저분하다.

[{'_id': ObjectId('614d1c3f4e2df337a475615f'), 'name': 'bobby', 'age': 21}, {'_id': ObjectId('614d1e53df4aa7802b5e9611'), 'name': 'Jane', 'age': 21}]

 

 

age가 21인 값 다 가져오기

 

same_ages = list(db.users.find({'age':21},{'_id':False}))
# db.users에 있는 db에서 age 21인 값을 받아 온다. _id 란에 있는 값은 받아오지 않는다.

for person in same_ages:
print(person)

=> {'name': 'bobby', 'age': 21}
     {'name': 'Jane', 'age': 21}

 

 

조건없이 db.users의 값 모두 가져오기

 

same_ages = list(db.users.find({},{'_id':False}))
#find{} 사이에 조건을 넣을 수 있다.

for person in same_ages:
print(person)

 

=> {'name': 'bobby', 'age': 21}
     {'name': 'john', 'age': 27}
     {'name': 'smith', 'age': 30}
     {'name': 'Jane', 'age': 21}

 

 

fine_one 으로 bobby라는 이름의 db를 다 받아오기

 

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

 

=> {'_id': ObjectId('614d1c3f4e2df337a475615f'), 'name': 'bobby', 'age': 21}

 

pymongo 기본 코드 4가지는 아래와 같다.
# insert / find / update / delete

 

db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

#bobby age 21에서 19로 바꿔준다.

 

pymongo 기본 코드 4가지는 아래와 같다.
# insert / find / update / delete

 

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

# bobby라는 이름을 가진 db를 삭제해라

 

 

 

'Coding' 카테고리의 다른 글

[Python] Pymongo (feat. insert, doc)  (0) 2021.09.28
[DB] DB 개괄  (0) 2021.09.24
[몽고DB, 로보3T] 설치 및 작동 확인  (0) 2021.09.23
[Python] 웹페이지 데이터 뽑아오기2 (feat. img alt)  (0) 2021.09.23
[Python] 패키지 설치  (0) 2021.09.15