비전공개미 개발노트
MongoDB 2일차 - Python과 연결 MongoClient / INSERT, SELECT, DELETE, UPDATE 본문
데이터베이스/MongoDB
MongoDB 2일차 - Python과 연결 MongoClient / INSERT, SELECT, DELETE, UPDATE
비전공개미 2022. 9. 15. 16:59반응형
SMALL
#TestInsert.py
import time
from pymongo import MongoClient
import sys
try:
print('몽고테스트')
#pip install pymongo
client = MongoClient('mongodb://localhost:27017/')
print(client.list_database_names())
print()
db = client['test']
data_author = input('이름입력 > ')
data_title = input('제목입력 > ')
data_kind = input('종류입력 > ')
data = {
'author': data_author,
'title': data_title,
'kind': data_kind
}
db.posts.insert_one(data)
#python - insert_one // mongodb - insertOne
print('몽고디비 저장 성공')
print('-' * 70)
time.sleep(1)
print('이름\t 제목\t 구분\t')
#3초후 데이터전체출력 for반복문 find()함수
for d in db['posts'].find():
print(d['author'], d['title'], d['kind'])
print('-' * 70)
cnt = db['posts'].estimated_document_count()
print('전체데이터갯수 :', cnt,'개')
except Exception as error:
print('에러이유 :', error)
# 입력
이름입력 > 홍길동
제목입력 > MySQL
종류입력 > Database
# 출력
몽고디비 저장 성공
----------------------------------------------------------------------
이름 제목 구분
홍길동 MySQL Database
-----------------------------------------------------------------------------------------------------------------------------------
#TestSelect.py
import time
from pymongo import MongoClient
import sys
try:
print('몽고테스트')
#pip install pymongo
client = MongoClient('mongodb://localhost:27017/')
print(client.list_database_names())
print()
db = client['test']
#3초후 데이터전체출력 for반복문 find()함수
for d in db['posts'].find():
print(d['author'], d['title'], d['kind'])
print('-' * 70)
cnt = db['posts'].estimated_document_count()
print('전체데이터갯수 :', cnt,'개')
print('저자이름 검색처리')
time.sleep(2)
my = input('저자이름입력 > ')
search = db['posts'].count_documents({'author': my})
if search <= 0:
print(my, '검색결과가 없습니다')
exit(-1) #sys.exit()
else:
result = db['posts'].find({'author': my})
for d in result:
print(d['author'], d['title'], d['kind'])
except Exception as error:
print('에러이유 :', error)
홍길동 MySQL Database
성춘향 Python Programming
임꺽정 MongoDB Database
박지성 html Hyper text markup language
안정환 C 프로그래밍
김철수 db 데이터베이스
김영희 php 프로그래밍
----------------------------------------------------------------------
전체데이터갯수 : 7 개
저자이름 검색처리
# 입력
저자이름입력 > 홍길동
# 출력
홍길동 MySQL Database
-----------------------------------------------------------------------------------------------------------------------------------
#TestDelete.py
import time
from pymongo import MongoClient
import sys
try:
print('몽고테스트')
#pip install pymongo
client = MongoClient('mongodb://localhost:27017/')
print(client.list_database_names())
print()
db = client['test']
time.sleep(1)
my = input('삭제데이터 이름입력 > ')
search = db['posts'].count_documents({'author': my})
if search <= 0:
print(my, '삭제대상 데이터가 없습니다')
sys.exit()
else:
result = db['posts'].delete_one({'author': my})
print(my, '데이터를 삭제성공 했습니다.\n')
#남은인원 출력
for d in db['posts'].find():
print(d)
except Exception as error:
print('에러이유 :', error)
# 입력
삭제데이터 이름입력 > 김철수
#출력
김철수 데이터를 삭제성공 했습니다.
{'_id': ObjectId('632290331a42ea526a6b69d7'), 'author': '홍길동', 'title': 'MySQL', 'kind': 'Database'}
{'_id': ObjectId('632290a1c64f74cbbaeafc76'), 'author': '성춘향', 'title': 'Python', 'kind': 'Programming'}
{'_id': ObjectId('632292109c31db1406e8ca6b'), 'author': '임꺽정', 'title': 'MongoDB', 'kind': 'Database'}
{'_id': ObjectId('6322a4d02a4a4ee80dc96adf'), 'author': '박지성', 'title': 'html', 'kind': 'Hyper text markup language'}
{'_id': ObjectId('6322a997cd05a0624d2e3be2'), 'author': '안정환', 'title': 'C', 'kind': '프로그래밍'}
{'_id': ObjectId('6322b27db2aff85ff571ed4b'), 'author': '김영희', 'title': 'php', 'kind': '프로그래밍'}
-----------------------------------------------------------------------------------------------------------------------------------
#TestUpdate.py
import time
from pymongo import MongoClient
try:
print('몽고테스트')
#pip install pymongo
client = MongoClient('mongodb://localhost:27017/')
db = client['test']
my = input('수정데이터 이름입력 > ')
search = db.posts.find_one({'author': my})
if search == None:
print(my, '수정대상 데이터가 없습니다')
exit(-1)
# data_author = input('수정이름입력 > ')
data_title = input('수정제목입력 > ')
data_kind = input('수정종류입력 > ')
#db.guest.updateOne( {name: 'goo'}, {$set:{title: "공조2"}} )
db.posts.update_one(
{'author': my},
{'$set': {'title': data_title, 'kind': data_kind}}
)
print('몽고디비 수정 성공\n')
except Exception as error:
print('에러이유 :', error)
# 입력
수정데이터 이름입력 > 안정환
수정제목입력 > C++
수정종류입력 > Programming
# 출력
몽고디비 수정 성공
반응형
LIST
'데이터베이스 > MongoDB' 카테고리의 다른 글
MongoDB 1일차 - 몽고db설치, create, insert, find, update (0) | 2022.09.14 |
---|
Comments