1. 데이터베이스와 MongoDB 연결
* MongoDB 새로운 Project 만들기
- 설치하기
#MongoDB와 연결하기 위한 드라이버 모듈을 설치(설치 후 "세션 다시 시작 및 모두 실행")
!python -m pip install "pymongo[srv]"==3.11
런타임 다시 실행 |
- import
from pymongo import MongoClient
- MongoDB와 연결하기
url = 'mongodb+srv://leesarah721:9mTiuY6G1vsxBg4A@cluster0.s6fyzfr.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0'
client = MongoClient(url)
print(client)
비밀번호 다르면 다시 설정해서 진행 |
- Database와 연결하기
database = client['aiproject']
collection = database['user']
* 새로운 Database 만들기 |
- 데이터 추가하기
user_insert = {'userid' : 'apple','name':'김사과','age':20}
result = collection.insert_one(user_insert)
print(f'입력된 데이터 id:{result.inserted_id}')
입력된 데이터 id:665d1702bb94bfd7b2d1f9f6 |
users_insert = [
{'userid' : 'banana','name':'반하나','age':25},
{'userid' : 'orange','name':'오렌지','age':30},
{'userid' : 'melon','name':'이메론','age':28}
]
result = collection.insert_many(users_insert)
print(f'입력된 데이터 id: {result.inserted_ids}')
입력된 데이터 id: [ObjectId('665d1a71bb94bfd7b2d1f9f7'), ObjectId('665d1a71bb94bfd7b2d1f9f8'), ObjectId('665d1a71bb94bfd7b2d1f9f9')] |
- 데이터 조회하기
user_find = {'userid': 'apple'}
result = collection.find_one(user_find)
print(f'데이터: {result}')
데이터: {'_id': ObjectId('665d1702bb94bfd7b2d1f9f6'), 'userid': 'apple', 'name': '김사과', 'age': 20} |
- 데이터 전체 조회하기
result = collection.find({})
for data in result:
print(data)
{'_id': ObjectId('665d1702bb94bfd7b2d1f9f6'), 'userid': 'apple', 'name': '김사과', 'age': 20} {'_id': ObjectId('665d1a71bb94bfd7b2d1f9f7'), 'userid': 'banana', 'name': '반하나', 'age': 25} {'_id': ObjectId('665d1a71bb94bfd7b2d1f9f8'), 'userid': 'orange', 'name': '오렌지', 'age': 30} {'_id': ObjectId('665d1a71bb94bfd7b2d1f9f9'), 'userid': 'melon', 'name': '이메론', 'age': 28} |
- 데이터 수정하기
user_update = {'userid':'apple'}
new_value = {'$set':{'age':30}} # {'$set':{'_id':ObjectId('xxxxx')}}
collection.update_one(user_update, new_value)
print('데이터 변경 성공!')
데이터 변경 성공! |
- 데이터 삭제하기
user_delete = {'userid': 'apple'}
collection.delete_one(user_delete)
print('데이터 삭제 성공!')
데이터 삭제 성공! |
'Python > 개념' 카테고리의 다른 글
파이썬 비동기 (0) | 2024.06.03 |
---|---|
Day 11. 재귀호출 (0) | 2024.03.29 |
Day 9. 과제 _ 파일 입출력을 이용한 단어장 만들기 (0) | 2024.03.27 |
Day 10. 과제: 디렉토리 관련 프로그램 (0) | 2024.03.24 |
Day 10. 디렉토리 관리 프로그램 (0) | 2024.03.22 |